Of het vernietigen van de XML op de server in plaats van op de client goed of slecht is, hangt af van verschillende factoren, de vereisten kunnen volkomen geldig zijn. Het versnipperen van XML op de server, gezien de uitgebreide ondersteuning van SQL server 2005 en daarna voor XML (XPath/XQuery/XML indexen) is vaak een zeer verstandige aanpak.
Wat u echter in uw bericht hebt, is een voorbeeld van semantische modellering van gegevens, met behulp van XML. Ik raad je aan een paar whitepapers door te nemen:
- Beste praktijken voor semantische gegevensmodellering voor prestaties en schaalbaarheid
- XML-best practices voor Microsoft SQL Server 2005
- Prestatie-optimalisaties voor het XML-gegevenstype in SQL Server 2005
- Prestatietips voor het gebruik van XML-gegevens in SQL Server
Ik weet niet of de @table1 in uw voorbeeld slechts een voorbeeld is of de daadwerkelijke gegevensstructuur die u in de productie gebruikt, maar sommige punten springen er meteen uit nadat u die artikelen hebt gelezen:
- gebruik getypte XML indien mogelijk (voeg een schema toe)
- gebruik een geschikte XML-index voor de verwerking die u nodig heeft
- probeer alle XML in één enkele transformatie te vernietigen in plaats van 3 opeenvolgende stappen
En tot slot, als u elke . moet versnipperen keer dat u een vraag stelt, moet u misschien het gegevensmodel analyseren (dit is waar het eerste artikel in mijn lijst nuttig is).