sql >> Database teknologi >  >> RDS >> Sqlserver

Microsoft SQL Server 2005/2008:XML vs tekst/varchar datatype

Hvis du gemmer xml i en xml-type kolonne, vil dataene ikke blive gemt som simpel tekst, som i nvarchar-tilfældet, vil de blive gemt i en slags parset datatræ, ​​som igen vil være mindre end den ikke-parsede xml-version. Dette reducerer ikke kun databasestørrelsen, men giver dig andre fordele, såsom validering, nem manipulation osv. (selvom du ikke bruger nogen af ​​disse, er de der stadig til fremtidig brug).

På den anden side bliver serveren nødt til at parse dataene ved indsættelse, hvilket sandsynligvis vil bremse din database - du skal træffe en beslutning om hastighed vs. størrelse.

Rediger:

Personligt synes jeg, at data i databasen kun skal gemmes som xml, når den har struktur, som er svær at implementere i en relationel model, f.eks. layouts, stilbeskrivelser osv. Normalt betyder det, at der ikke vil være meget data, og hastighed er ikke et problem, således tilføjede xml-funktioner, såsom datavalidering og manipulationsevne (også sidst men ikke mindst, muligheden for at klikke på værdien i management studio og se formateret xml - jeg elsker virkelig den funktion!), opvejer omkostningerne.

Jeg har ikke direkte erfaring med at gemme store mængder xml i databasen, og det ville jeg ikke gøre, hvis jeg havde muligheden, da det næsten altid er langsommere end en relationel model, men hvis det ville være tilfældet, d anbefaler at profilere begge muligheder og vælge mellem størrelse og hastighed, der passer bedst til dine behov.



  1. En løsning på adgangsgrænsen på 255 kolonner

  2. Har Mysql en ækvivalent til @@ROWCOUNT som i mssql?

  3. En simpel introduktion til brug af MySQL på Linux-terminalen

  4. Giv tilladelser til en MySQL-bruger på Linux via kommandolinjen