Как обрабатывать параметры хранимых процедур SQL Server XML, когда табличные параметры (TVP) недоступны? - PullRequest
0 голосов
/ 24 февраля 2012

Если у вас нет SQL Server 2008 для игры (TVP), преимущество передачи параметра XML в SPROC состоит в том, что если изменяются требования к параметрам, вам не нужно перекомпилировать / etc.Ваше приложение соответствует требованиям.

Я считаю, что хранение данных в виде XML в поле таблицы - не лучшая идея, что sproc должен затем проанализировать входящий XML и заполнить соответствующие поля вТаблица.Тем не менее, мы также можем легко выполнять SELECT / фильтровать запросы к XML, содержащемуся в поле в таблице.

Какой тип задержки вводится при разборе XML и заполнении соответствующих полей, и получается ли что-нибудь, что получаетсяэто?

В условиях высокого трафика, какая политика лучше?

1 Ответ

0 голосов
/ 25 февраля 2012

Это зависит. Это очень широкий вопрос. Обычно для анализа XML требуется много обработки (в данном случае без индексов XML). Ваш высокий трафик вставляет сильно или выбирает интенсивно?

Потенциально можно получить много преимуществ при разборе таблицы, если они применимы. Если вам не нужно запрашивать его, и вы храните XML, чтобы потом вернуть его в той же форме, тогда выигрыш будет меньше.

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

Вы можете использовать планы запросов и статистику ожидания при сравнении разных подходов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...