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

Nejlepší způsob, jak uložit velký řetězec v databázi SQL Server?

V SQL Server 2008 máte možnost použít FILESTREAM pro ukládání velkých binárních dat. V tomto případě budou data dostupná v dotazech, ale fyzicky uložena v souborovém systému.

Společnost Microsoft zveřejnila technický článek k SQL Server který obsahuje užitečné informace o tom, jak a kdy používat FILESTREAM . Na 8. stránce srovnávací tabulka ukazuje, že FILESTREAM má výhodu přes objekty BLOB uložené v databázi pokud jsou uložená data větší než 1 MB .

POZNÁMKA FILESTREAM není k dispozici v SQL Server 2005! (A SQL Server 2005 není déle podporované společností Microsoft - kromě rozšířené podpory)

Několik dalších článků k přečtení

Některé srovnávací grafy si můžete prohlédnout na blogu SQLSkills o jeho výkonu.

Výzkum společnosti Microsoft také zveřejnil Technický článek:To BLOB or Not To BLOB o souborových tocích a objektech BLOBS.

Můžete to zkusit, ale jako vždy musíte spustit nějaký test specifický pro prostředí, abyste si byli jisti, že toto řešení funguje nebo ne. Pokud se jedná o produkt na trhu, je dobré implementovat podporu FILESTREAM jako funkci opt-in nebo opt-out.

Jen okrajová poznámka

NVARCHAR je dvakrát větší než VARBINARY protože SQL Server ukládá každý znak na 2 bajty v unicode (NCHAR , NVARCHAR , atd.) sloupce.




  1. Opětovné připojení MySQL po vypršení časového limitu

  2. Jak zjistit rozdíl mezi dvěma tabulkami?

  3. MySQL:Neznámý sloupec v chybě klauzule where

  4. jak odstranit záznamy z databáze pomocí Ajaxu