Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

TSQL Shred XML - Isso está certo ou existe uma maneira melhor (novato @ retalhando XML)


Se destruir o XML no servidor em vez de fazê-lo no cliente é bom ou ruim depende de vários fatores, os requisitos podem ser perfeitamente válidos. A fragmentação de XML no servidor, dado o amplo suporte do SQL Server 2005 e posterior para XML (índices XPath/XQuery/XML), geralmente é uma abordagem muito sensata.

Porém, o que você tem em seu post é um exemplo de modelagem semântica de dados, usando XML. Eu recomendo que você leia alguns white papers:

Não sei se @table1 no seu exemplo é apenas um exemplo ou a estrutura de dados real que você usa na produção, mas alguns pontos vão aparecer imediatamente depois que você ler esses artigos:
  • use XML digitado quando possível (adicione um esquema)
  • use um índice XML apropriado para o processamento necessário
  • tente destruir todo o XML em uma única transformação em vez de três etapas consecutivas

E, finalmente, se você precisar destruir todo vez que você consulta, talvez você precise analisar o modelo de dados (é aqui que o primeiro artigo da minha lista é útil).