sql >> Databasteknik >  >> RDS >> Sqlserver

Microsoft SQL Server 2005/2008:XML vs text/varchar datatyp

Om du lagrar xml i en xml-typad kolumn kommer data inte att lagras som enkel text, som i fallet med nvarchar, kommer den att lagras i något slags tolkat dataträd, som i sin tur kommer att vara mindre än den oparsade xml-versionen. Detta minskar inte bara databasstorleken, utan ger dig andra fördelar, som validering, enkel manipulation etc. (även om du inte använder någon av dessa finns de fortfarande för framtida bruk).

Å andra sidan måste servern analysera data vid infogning, vilket förmodligen kommer att sakta ner din databas - du måste fatta ett beslut om hastighet kontra storlek.

Redigera:

Personligen tycker jag att data i databasen bör lagras som xml endast när den har struktur som är svår att implementera i en relationsmodell, t.ex. layouter, stilbeskrivningar etc. Vanligtvis betyder det att det inte kommer att finnas mycket data och hastighet är inte ett problem, därför har lagts till xml-funktioner, som datavalidering och manipuleringsförmåga (även sist men inte minst, möjligheten att klicka på värdet i managementstudio och se formaterad xml - jag älskar verkligen den funktionen!), väger upp kostnaderna.

Jag har inte direkt erfarenhet av att lagra stora mängder xml i databasen och jag skulle inte göra det om jag hade möjlighet, eftersom det nästan alltid är långsammare än en relationsmodell, men om så skulle vara fallet, d rekommenderar att du profilerar båda alternativen och väljer mellan storlek och hastighet som passar dina behov bäst.



  1. MySQL-frågesträng innehåller

  2. När väljer du för uppdateringslåsning och upplåsning?

  3. Ändra en CHECK-begränsning i SQL Server med T-SQL

  4. Hur kör man en .sql-fil med powershell?