Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Microsoft SQL Server 2005/2008 :XML vs type de données text/varchar

Si vous stockez xml dans une colonne typée xml, les données ne seront pas stockées sous forme de texte simple, comme dans le cas nvarchar, elles seront stockées dans une sorte d'arborescence de données analysées, qui à son tour sera plus petite que la version xml non analysée. Cela réduit non seulement la taille de la base de données, mais vous donne d'autres avantages, comme la validation, la manipulation facile, etc. (même si vous n'utilisez aucun de ces éléments, ils sont toujours là pour une utilisation future).

D'un autre côté, le serveur devra analyser les données lors de l'insertion, ce qui ralentira probablement votre base de données - vous devez prendre une décision en fonction de la vitesse par rapport à la taille.

Modifier :

Personnellement, je pense que les données de la base de données ne doivent être stockées au format xml que lorsqu'elles ont une structure difficile à implémenter dans un modèle relationnel, par ex. mises en page, descriptions de style, etc. Cela signifie généralement qu'il n'y aura pas beaucoup de données et que la vitesse n'est pas un problème. dans le studio de gestion et voir xml formaté - j'aime vraiment cette fonctionnalité !), l'emportent sur les coûts.

Je n'ai pas d'expérience directe dans le stockage de grandes quantités de xml dans la base de données et je ne le ferais pas si j'en avais la possibilité, car il est presque toujours plus lent qu'un modèle relationnel, mais si tel était le cas, je ' d recommande de profiler les deux options et de choisir entre la taille et la vitesse qui correspondent le mieux à vos besoins.