web-dev-qa-db-fra.com

Quel type de données pour stocker des données XML dans: varchar (max) ou xml

Je définit un schéma pour un nouvel ensemble de ressources à l'aide de SQL Server 2008 ... Dans ce cas, chaque enregistrement ( par exemple, la ligne ) devra stocker Fragments XML. De temps en temps; bien que peu fréquemment; Je devrai interroger le XML pour trouver des valeurs d'élément et d'attribuer. Si vous avez laissé à mes propres concepts, j'aurais tendance à utiliser le type de données XML bien que j'ai été amené à croire que cela se produise avec des problèmes. Donc cela me conduit à mes questions.

Compte tenu de ce scénario, quels facteurs dois-je envisager d'envisager lorsque vous essayez de choisir entre stocker XML dans une colonne xml colonne vs.varchar (max) colonne

Si cela aide ... voici quelques détails supplémentaires:

  • Aucune décision n'a été prise concernant l'utilisation de schéma pour ces fragments ( par exemple. XSD )
  • Les tailles des fragments vont de petites à très grandes
  • Tout XML sera bien formé
  • Au cours d'une journée, il y aura jusqu'à environ 10 000 fragments collectés avec le support de requête en ligne nécessaire pendant environ 3 mois.
  • Les requêtes contre le XML se produiront tout au long de la journée mais devraient rester la lumière avec peu de requêtes simultanées de ce type.
9
JoeGeeky

Si -requêtes contre le XML se produira par les fonctionnalités SQL Server XML, utilisez le type XML pour stocker un XML pour éviter la coulée.

et

gardez à l'esprit, ce type XML peut être stocké un peu plus lentement dû à une validation XML, mais le type de XML sous-jacent est un niveau ordinaire varbinaire (max)

5
Oleg Dok