ВЫБЕРИТЕ поля XML с лучшей производительностью на сервере SQL - PullRequest
0 голосов
/ 12 декабря 2011

Какое хорошее решение для получения максимальной производительности при выборе полей XML? Создайте таблицу с 100000 записями.или создать несколько индексов в моем поле xml и затем вычислить значения?

Если у кого-то есть лучшее решение, скажите, пожалуйста.

спасибо

1 Ответ

3 голосов
/ 12 декабря 2011

Если вам нужно извлечь только отдельные значения из вашего XML, вы также можете исследовать этот подход:

  • определяет хранимую функцию, которая принимает ваш XML в качестве входного параметра и извлекает все, что вам нужноизвлечь из него и вернуть INT или VARCHAR или что-то
  • , определяющее вычисляемый постоянный столбец в вашей базовой таблице (где хранится ваш XML), который вызывает эту функцию

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

К сожалению, это работает только в том случае, если вам нужно извлечь один фрагмент информации из столбца XML - это не работаетесли вам нужно извлечь весь список значений из XML

Если вам нужно извлечь списки информации, то единственным реальным вариантом будут индексы XML.Однако, как показывает наш опыт, издержки (с точки зрения дискового пространства) чрезвычайно высоки - для базы данных мы увеличили объем с 2 ГБ до более 10 ГБ, когда добавили один индекс XML ....... это вариант иВы могли бы попробовать это - но знать о потенциальных недостатках тоже.

...