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

Nejlepší způsob, jak uložit písmo v databázi SQL Server

Existuje opravdu dobrý dokument od společnosti Microsoft Research s názvem To Blob or Not To Blob .

Jejich závěr po velkém počtu výkonnostních testů a analýz je tento:

  • pokud jsou vaše obrázky nebo dokument obvykle menší než 256 kB, je efektivnější jejich ukládání do databázového sloupce VARBINARY

  • pokud jsou vaše obrázky nebo dokument obvykle větší než 1 MB, jejich ukládání do souborového systému je efektivnější (a s atributem FILESTREAM SQL Server 2008 jsou stále pod transakční kontrolou a jsou součástí databáze)

  • mezi těmito dvěma je to trochu házení v závislosti na vašem použití

Pokud se rozhodnete umístit své obrázky do tabulky SQL Serveru, důrazně doporučuji použít samostatnou tabulku pro ukládání těchto obrázků - neukládejte fotografii zaměstnance do tabulky zaměstnanců - mějte je v samostatné tabulce. Tímto způsobem může tabulka zaměstnanců zůstat štíhlá, průměrná a velmi efektivní, za předpokladu, že nemusíte vždy v rámci svých dotazů vybírat i fotografii zaměstnance.

Pokud jde o skupiny souborů, podívejte se na Architektura souborů a skupin souborů na úvod. V podstatě byste buď vytvořili svou databázi se samostatnou skupinou souborů pro velké datové struktury hned od začátku, nebo byste přidali další skupinu souborů později. Říkejme tomu „LARGE_DATA“.

Nyní, kdykoli chcete vytvořit novou tabulku, která potřebuje uložit sloupce VARCHAR(MAX) nebo VARBINARY(MAX), můžete pro velká data zadat tuto skupinu souborů:

 CREATE TABLE dbo.YourTable
     (....... define the fields here ......)
     ON Data                   -- the basic "Data" filegroup for the regular data
     TEXTIMAGE_ON LARGE_DATA   -- the filegroup for large chunks of data

Podívejte se na úvod MSDN o souborových skupinách a pohrajte si s ním!




  1. CHYBA:relační místa neexistuje Import Heroku db

  2. Příklady ISJSON() v SQL Server (T-SQL)

  3. Výčtové typy s ActiveRecord a Postgresql

  4. postgresql malformovaný literál pole v create agregaci initcond