sql >> Databáze >  >> RDS >> Sqlserver

Microsoft SQL Server 2005/2008:datový typ XML vs text/varchar

Pokud uložíte xml do sloupce typu xml, data se neuloží jako jednoduchý text, jako v případě nvarchar, budou uložena v nějakém druhu analyzovaného stromu dat, který bude zase menší než neanalyzovaná verze xml. To nejen zmenšuje velikost databáze, ale poskytuje vám další výhody, jako je validace, snadná manipulace atd. (i když žádnou z nich nepoužíváte, jsou zde pro budoucí použití).

Na druhou stranu, server bude muset data po vložení analyzovat, což pravděpodobně zpomalí vaši databázi – musíte se rozhodnout mezi rychlostí vs. velikostí.

Upravit:

Osobně si myslím, že data v databázi by měla být uložena jako xml pouze v případě, že mají strukturu, která je těžko implementovatelná v relačním modelu, např. rozvržení, popisy stylů atd. Obvykle to znamená, že dat nebude moc a rychlost není problém, proto přibyly xml funkce, jako je validace dat a možnost manipulace (také v neposlední řadě možnost kliknout na hodnotu v manažerském studiu a podívejte se na formátovaný xml - opravdu miluji tuto funkci!), převáží náklady.

Nemám přímou zkušenost s ukládáním velkého množství xml v databázi a nedělal bych to, kdybych měl tu možnost, protože je to téměř vždy pomalejší než relační model, ale pokud by tomu tak bylo, d doporučuji profilovat obě možnosti a vybrat si mezi velikostí a rychlostí, která nejlépe vyhovuje vašim potřebám.



  1. Hodnoty NULL uvnitř klauzule NOT IN

  2. Volání uložené procedury pomocí VBA

  3. Omezení názvu sloupce tabulky Postgres?

  4. Jak odeslat HTML e-mail ze serveru SQL (T-SQL)