![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Производительность запросов, извлекающих одно или несколько значений из отдельных экземпляров XML, может повыситься при использовании индекса PROPERTY. Это происходит при извлечении свойств объекта методом value() типа данных xml, когда для объекта известно значение первичного ключа.
Индекс PROPERTY строится по столбцам (PK, Path и значении узла) первичного XML-индекса, где PK — это первичный ключ базовой таблицы.
Например, для модели продукта 19 следующий запрос извлекает значения атрибутов ProductModelID и ProductModelName при помощи метода value(). Если вместо первичного или вторичных XML-индексов использовать индекс PROPERTY, это может повысить скорость выполнения запросов.
WITH XMLNAMESPACES ('http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription' AS "PD") SELECT CatalogDescription.value('(/PD:ProductDescription/@ProductModelID)[1]', 'int') as ModelID, CatalogDescription.value('(/PD:ProductDescription/@ProductModelName)[1]', 'varchar(30)') as ModelName FROM Production.ProductModel WHERE ProductModelID = 19За исключением отличий, описанных ниже в этом подразделе, создание XML-индекса для столбца типа xml аналогично созданию индекса для столбца типа данных, отличного от xml. Для создания XML-индексов и управления ими могут использоваться следующие DDL-инструкции Transact-SQL:
· CREATE INDEX (Transact-SQL)
· ALTER INDEX (Transact-SQL)
· DROP INDEX (Transact-SQL)
Дата публикования: 2015-02-03; Прочитано: 153 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!