Дали раздробяването на XML на сървъра, за разлика от извършването му на клиента, е добро или лошо зависи от различни фактори, изискванията може да са напълно валидни. Раздробяването на XML на сървъра, предвид широката поддръжка на SQL сървър 2005 и след това за XML (XPath/XQuery/XML индекси) често е много разумен подход.
Въпреки това, това, което имате в публикацията си, е пример за семантично моделиране на данни, използвайки XML. Препоръчвам ви да прегледате няколко бели книги:
- Най-добри практики за моделиране на семантични данни за производителност и мащабируемост
- XML най-добри практики за Microsoft SQL Server 2005
- Оптимизации на производителността за XML тип данни в SQL Server 2005
- Съвети за производителност при използване на XML данни в SQL Server
Не знам дали @table1 във вашия пример е само пример или действителната структура на данните, която използвате в производството, но някои точки ще изскочат веднага след като прочетете тези документи:
- използвайте въведен XML, когато е възможно (добавете схема)
- използвайте подходящ XML индекс за обработката, от която се нуждаете
- опитайте се да раздробите целия XML в една единствена трансформация вместо в 3 последователни стъпки
И накрая, ако трябва да настържете всеки когато правите заявка, може би трябва да анализирате модела на данни (тук е полезна първата статия в моя списък).