Улучшение явной производительности FOR XML - PullRequest
2 голосов
/ 15 октября 2008

Хотя использование SQL FOR XML EXPLICIT громоздко, я часто использую его. Поскольку он позволяет полностью контролировать сгенерированный документ XML.

Моя проблема связана с производительностью, иногда на создание XML-документа, описывающего некоторые финансовые данные (счета-фактуры, счета и т. Д.), Может потребоваться более 5 минут всего за один месяц!

Поэтому я искал советы, чтобы улучшить его производительность. Или даже другие способы заменить его, которые дают преимущество в производительности.

1 Ответ

1 голос
/ 15 октября 2008

Если XML передается в какое-либо приложение для обработки после его создания (например, веб-приложение), одна альтернатива - просто генерировать нормальные наборы записей в SQL и позволить вызывающему приложению создать документ XML. Или, возможно, SQL может использовать FOR XML AUTO для создания более простой формы XML, чем вам требуется, и затем вызывающее приложение может преобразовать ее в правильный формат XML с помощью таблицы стилей XSLT.

Конечно, вам необходимо убедиться, что с исходным SQL нет проблем с производительностью, независимо от того, форматируется ли он в XML или нет (т. Е. В вашей базе данных отсутствуют некоторые индексы, возможно?)

...