Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Най-добрият начин за запазване на шрифт в база данни на SQL Server

Има наистина добра статия от Microsoft Research, наречена To Blob or Not To Blob .

Тяхното заключение след голям брой тестове и анализи на ефективността е следното:

  • ако вашите снимки или документ обикновено са с размер под 256K, съхраняването им в колона VARBINARY на база данни е по-ефективно

  • ако вашите снимки или документ обикновено са с размер над 1 MB, съхраняването им във файловата система е по-ефективно (и с атрибута FILESTREAM на SQL Server 2008 те все още са под транзакционен контрол и са част от базата данни)

  • между тези две, това е малко подхвърляне в зависимост от вашата употреба

Ако решите да поставите вашите снимки в таблица на SQL Server, силно бих препоръчал да използвате отделна таблица за съхраняване на тези снимки - не съхранявайте снимката на служителя в таблицата на служителите - дръжте ги в отделна таблица. По този начин таблицата на служителите може да остане стройна, злобна и много ефективна, ако приемем, че не винаги е необходимо да избирате и снимката на служителя като част от вашите заявки.

За файлови групи вижте Архитектура на файлове и файлови групи за интро. По принцип или ще създадете вашата база данни с отделна файлова група за големи структури от данни още от самото начало, или ще добавите допълнителна файлова група по-късно. Нека го наречем "LARGE_DATA".

Сега, когато имате нова таблица за създаване, която трябва да съхранява VARCHAR(MAX) или VARBINARY(MAX) колони, можете да посочите тази файлова група за големи данни:

 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

Вижте въведението на MSDN за файлови групи и си поиграйте с него!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мога ли да добавя дефинирана от потребителя функция на ниво сървър в SQL Server 2008 r2?

  2. АКТУАЛИЗИРАНЕ или СЛИВАНЕ на много големи таблици в SQL Server

  3. Как мога да създам пространствен индекс на индексиран изглед?

  4. пребройте броя на интервалите в стойностите в sql сървъра

  5. SQL Server:АКТУАЛИЗИРАНЕ на таблица с помощта на ORDER BY