Quelles sont les meilleures pratiques pour travailler avec les colonnes XML du serveur Sql afin d'assurer des performances rapides et une facilité de création de rapports?Sql Server Xml Colonne Meilleures pratiques
Comment configurez-vous la colonne? le laissez-vous comme non typé? ou l'associer à un schéma?
L'association de la colonne xml à un schéma améliore-t-elle les performances des requêtes?
Notre utilisation de colonnes xml est la suivante:
A.> Sur une base client PER, nous pouvons définir le stockage flexible de leurs données sans remanier notre db. B.> Nous devons construire des vues de rapport pour chaque client qui retourne leurs données comme s'il s'agissait d'une simple table (pour les rapports Crystal ou Sql Server Reporting Services).
La syntaxe que nous utilisons actuellement à la requête est la suivante:
SELECT
Id,
doc.value('@associatedId','nvarchar(40)') as AssocId,
doc.value('@name1', 'nvarchar(255)') as Name1,
doc.value('@name2', 'nvarchar(255)') as Name2,
doc.value('@name3', 'nvarchar(255)') as Name3,
doc.value('@number', 'nvarchar(255)') as Number
From OrderDetails
CROSS APPLY OrderDetails.XmlData.nodes('//root/reviewers/reviewer') as XmlTable(doc)
est-il un moyen plus rapide de le faire? cette requête tourne lentement pour nous dans une table avec 1 million d'enregistrements, mais seulement 800 ont actuellement des données xml!
Merci
Pete
Créez définitivement un index XML! –