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

Najlepszy sposób na zapisanie czcionki w bazie danych SQL Server

Istnieje naprawdę dobry artykuł opracowany przez Microsoft Research zatytułowany Blobować czy nie Blobować .

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 256K, 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, wredna i bardzo wydajna, zakładając, że nie zawsze musisz wybierać również zdjęcie pracownika jako część zapytań.

W przypadku grup plików zapoznaj się z plikami i architekturą grup plików na wprowadzenie. Zasadniczo możesz utworzyć bazę danych z oddzielną grupą plików dla dużych struktur danych od samego początku lub dodać dodatkową grupę plików później. 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

Zapoznaj się z 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. Zmień tabele replikowane w programie SQL Server 2008 R2

  2. kopiowanie tabel z danymi do innej bazy danych w SQL Server 2008

  3. Dziennik transakcji SQL Server, część 3:Podstawy rejestrowania

  4. SQL Server Zmień lokalizację pliku TempDB

  5. Sprawdzenie, czy dana data mieści się w zakresie dat