Hvorvidt det er godt eller dårligt at makulere XML'en på serveren i stedet for at gøre det på klienten, afhænger af en række forskellige faktorer, kravene kan være helt gyldige. Makulering af XML på serveren, givet den omfattende understøttelse af SQL Server 2005 og senere til XML (XPath/XQuery/XML-indekser) er ofte en meget fornuftig tilgang.
Men det du har i dit indlæg er et eksempel på semantisk modellering af data ved hjælp af XML. Jeg anbefaler, at du gennemgår et par hvidbøger:
- Bedste praksis for semantisk datamodellering for ydeevne og skalerbarhed
- Best Practices for XML for Microsoft SQL Server 2005
- Ydeevneoptimeringer for XML-datatypen i SQL Server 2005
- Tip til ydeevne ved brug af XML-data i SQL Server
Jeg ved ikke, om @table1 i dit eksempel kun er et eksempel eller den faktiske datastruktur, du bruger i produktionen, men nogle punkter vil springe ud umiddelbart efter, du har læst disse papirer:
- brug indtastet XML, når det er muligt (tilføj et skema)
- brug et passende XML-indeks til den behandling, du har brug for
- prøv at makulere al XML i én enkelt transformation i stedet for 3 på hinanden følgende trin
Og endelig, hvis du har brug for at makulere hver gang du forespørger, skal du måske analysere datamodellen (det er her, det første papir på min liste er nyttigt).