Si triturar el XML en el servidor en lugar de hacerlo en el cliente es bueno o malo depende de una variedad de factores, los requisitos pueden ser perfectamente válidos. Triturar XML en el servidor, dada la amplia compatibilidad con SQL Server 2005 y después de tener XML (índices XPath/XQuery/XML) suele ser un enfoque muy sensato.
Sin embargo, lo que tiene en su publicación es un ejemplo de modelado semántico de datos, utilizando XML. Le recomiendo que revise un par de libros blancos:
- Prácticas recomendadas para el modelado de datos semánticos para rendimiento y escalabilidad
- Prácticas recomendadas de XML para Microsoft SQL Server 2005
- Optimizaciones de rendimiento para el tipo de datos XML en SQL Server 2005
- Consejos de rendimiento del uso de datos XML en SQL Server
No sé si @table1 en su ejemplo es solo un ejemplo o la estructura de datos real que usa en producción, pero algunos puntos resaltarán inmediatamente después de leer esos documentos:
- utilice XML escrito cuando sea posible (agregue un esquema)
- utilice un índice XML apropiado para el procesamiento que necesita
- intente triturar todo el XML en una sola transformación en lugar de 3 pasos consecutivos
Y finalmente, si necesita triturar cada vez que consulta, tal vez necesite analizar el modelo de datos (aquí es donde el primer artículo de mi lista es útil).