Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Przechowywanie obrazów w SQL Server?

Istnieje naprawdę dobra publikacja Microsoft Research zatytułowana To Blob or Not To Blob.

Ich wniosek po wielu testach wydajnościowych i analizach jest następujący:

  • jeśli twoje zdjęcia lub dokument mają zwykle rozmiar poniżej 256 KB, przechowywanie ich w kolumnie VARBINARY bazy danych jest bardziej wydajne

  • jeśli twoje zdjęcia lub dokumenty mają zwykle rozmiar ponad 1 MB, przechowywanie ich w systemie plików jest bardziej wydajne (a dzięki atrybutowi FILESTREAM SQL Server 2008 nadal są one pod kontrolą transakcyjną i stanowią część bazy danych)

  • pomiędzy tymi dwoma, jest to trochę rozrzucone w zależności od zastosowania

Jeśli zdecydujesz się umieścić swoje zdjęcia w tabeli SQL Server, zdecydowanie zalecam użycie osobnej tabeli do przechowywania tych zdjęć - nie przechowuj zdjęcia pracownika w tabeli pracownika - trzymaj je w osobnej tabeli. W ten sposób tabela Pracownik może pozostać szczupła, oszczędna i bardzo wydajna, zakładając, że nie zawsze musisz wybierać również zdjęcie pracownika jako część zapytań.

W przypadku grup plików wyewidencjonuj pliki i architekturę grup plików na wprowadzenie. Zasadniczo albo utworzysz bazę danych z osobną grupą plików dla dużych struktur danych od samego początku, albo później dodasz dodatkową grupę plików. Nazwijmy to „LARGE_DATA”.

Teraz, gdy masz nową tabelę do utworzenia, która musi przechowywać kolumny VARCHAR(MAX) lub VARBINARY(MAX), możesz określić tę grupę plików dla dużych danych:

 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

Sprawdź intro MSDN na grupach plików i baw się nim!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Prosty sposób na transponowanie kolumn i wierszy w SQL?

  2. Problemy z replikacją transakcyjną programu SQL Server

  3. Seminarium internetowe:Śledzenie postępu zapytań w SQL Server

  4. Generuj diagram relacji tabeli z istniejącego schematu (SQL Server)

  5. Instrukcja aktualizacji dynamicznej ze zmiennymi nazwami kolumn