Почему схема замедляет работу столбца XML?

У меня есть таблица с столбцом XML. Документы довольно большие и многочисленные, и я пробовал разные способы улучшить производительность базовых запросов.

Поскольку в документации указано, что применение схемы XML к столбцу может помочь SQL Server оптимизировать запросы - и поскольку один из них был доступен, я создал коллекцию схем и применил этот тип к своему столбцу XML.

Производительность запросов резко упала.

Я имею в виду, что самые простые тесты стали невыносимо медленными. Я удалил тип столбца, запросы выполнялись так же хорошо, как и раньше. Это случилось с кем-нибудь еще?

Отмечу, что сама схема довольно большая и проработанная. Тем не менее, этот результат мне кажется противоречащим интуиции.

РЕДАКТИРОВАТЬ: Меня беспокоят только операторы SELECT - на самом деле, эти документы никогда не будут редактироваться, а только просматриваться. Поэтому я не понимаю, зачем нужна схема для чего-либо, кроме возможных оптимизаций, после того, как записи были вставлены и проверены.

Кроме того, мне известно об этой проблеме, где индекс в столбце XML может отрицательно сказаться на производительности. Это не моя проблема - индекс не оказал заметного влияния, положительного или отрицательного, на запросы, которые я выполняю, и я пробовал описанный выше сценарий с индексом и без него.


person harpo    schedule 09.04.2009    source источник
comment
Какая часть медленнее? ВСТАВЛЯТЬ? ОБНОВИТЬ? УДАЛЯТЬ? ВЫБРАТЬ?   -  person John Saunders    schedule 10.04.2009
comment
Меня беспокоит только SELECT. Естественно, INSERTS немного медленнее, но я ожидаю этого, и это вполне разумно (например, в 40-50 раз медленнее), как SELECT.   -  person harpo    schedule 10.04.2009


Ответы (1)


Думаю, вы уже получили свой ответ:

Следует отметить, что сама схема довольно большая и сложная

Сложная схема может потребовать больших вычислительных ресурсов. Если вы особенно много делаете для обновлений, схему придется проверять несколько раз.

person Charlie Martin    schedule 09.04.2009