Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Microsoft SQL Server 2005/2008:XML срещу тип данни text/varchar

Ако съхранявате xml в колона, въведена в xml, данните няма да се съхраняват като обикновен текст, както в случая nvarchar, те ще бъдат съхранени в някакво дърво с анализирани данни, което от своя страна ще бъде по-малко от неанализираната xml версия. Това не само намалява размера на базата данни, но ви дава и други предимства, като валидиране, лесна манипулация и т.н. (въпреки че не използвате нито едно от тях, все пак те са там за бъдеща употреба).

От друга страна, сървърът ще трябва да анализира данните при вмъкване, което вероятно ще забави вашата база данни - трябва да вземете решение за скоростта спрямо размера.

Редактиране:

Лично аз смятам, че данните в базата данни трябва да се съхраняват като xml само когато имат структура, която е трудно да се приложи в релационен модел, напр. оформления, описания на стил и т.н. Обикновено това означава, че няма да има много данни и скоростта не е проблем, като по този начин са добавени xml функции, като проверка на данни и способност за манипулиране (също, не на последно място, възможността за щракване върху стойността в студио за управление и вижте форматиран xml - наистина харесвам тази функция!), надвишават разходите.

Нямам пряк опит в съхраняването на големи количества xml в базата данни и не бих го направил, ако имах опцията, тъй като почти винаги е по-бавен от релационния модел, но ако това е така, аз г препоръчваме да профилирате и двете опции и да изберете между размер и скорост, които най-добре отговарят на вашите нужди.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Примери за преобразуване на „време“ в „дата и час“ в SQL Server (T-SQL)

  2. @@ROWCOUNT – Вземете броя на редовете, засегнати от последното изявление в SQL Server

  3. сравняване на колона със списък със стойности в t-sql

  4. Съхранената процедура или функция очаква параметър, който не е предоставен

  5. Добавяне на множество параметризирани променливи към база данни в C#