Почему схема делает столбец XML медленнее? - PullRequest
0 голосов
/ 10 апреля 2009

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

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

Производительность запроса сошла с обрыва.

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

Должен отметить, что сама схема довольно большая и сложная. Тем не менее, этот результат кажется мне нелогичным.

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

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

1 Ответ

0 голосов
/ 10 апреля 2009

Я думаю, что вы получили свой ответ прямо здесь:

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

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

...