XML-СУБД Sedna технические особенности и варианты использования

Конструкторы элементов


Кроме аналогов известных тяжеловесных операций соединения, сортировки и группировки, в XQuery имеется специфическая ресурсоемкая операция – конструктор XML -элемента. Для конструирования XML -элемента требуется глубокое копирование существующих данных, вызывающее накладные расходы, которые особенно существенны при наличии в запросе вложенных конструкторов элементов. Для оптимизации в СУБД Sedna введена операция отложенного конструирования элемента , не выполняющая глубокое копирование содержимого конструируемого элемента, а всего лишь сохраняющая требуемый для этого набор указателей. Реальное копирование происходит в тот момент, когда некоторая операция пытается воспользоваться содержимым сконструированного элемента.

Проведенные исследования [] показали, что для представительного класса XQuery -запросов глубокое копирование вообще не требуется. Большинство XQuery -запросов можно перезаписать таким образом, что в плане выполнения запроса выше конструкторов элементов не будут присутствовать операции, анализирующие содержимое элементов.



Содержание раздела