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

Najlepszy sposób na przechowywanie dużego ciągu w bazie danych SQL Server?

W SQL Server 2008 możesz użyć FILESTREAM do przechowywania dużych danych binarnych. W takim przypadku dane będą dostępne w zapytaniach, ale fizycznie przechowywane w systemie plików.

Microsoft opublikował Artykuł techniczny dotyczący SQL Server który zawiera przydatne informacje o tym, jak i kiedy używać FILESTREAM . Na 8. stronie wykres porównawczy pokazuje, że FILESTREAM ma przewagę ponad BLOBami przechowywanymi w bazie danych jeśli przechowywane dane są większe niż 1MB .

UWAGA FILESTREAM nie jest dostępny w SQL Server 2005! (A SQL Server 2005 nie jest już obsługiwany przez Microsoft - z wyjątkiem rozszerzonego wsparcia)

Więcej artykułów do przeczytania

Niektóre wykresy porównawcze można zobaczyć na blogu SQLSkills o jego wydajności.

Również Microsoft Research opublikował Artykuł techniczny:Do BLOB czy nie do BLOB o strumieniach plików i BLOBach.

Możesz spróbować, ale jak zwykle musisz przeprowadzić test specyficzny dla środowiska, aby upewnić się, że to rozwiązanie działa, czy nie. Jeśli jest to produkt na rynku, dobrym pomysłem jest zaimplementowanie obsługi FILESTREAM jako funkcji opt-in lub opt-out.

Tylko uwaga

NVARCHAR jest dwa razy większy niż VARBINARY ponieważ SQL Server przechowuje każdy znak na 2 bajtach w Unicode (NCHAR , NVARCHAR itp.) kolumny.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie ciągu połączenia dla systemu Android z łącznością SQLServer

  2. niekodowane Count(*) vs tabele systemowe

  3. Wyszukaj wiele wartości w kolumnie xml w SQL

  4. Wykorzystanie procesora przez bazę danych?

  5. Jak usunąć zduplikowane wiersze w SQL Server?