Microsoft Research tarafından, bu konuyu derinlemesine ele alan To Blob or Not To Blob adlı çok iyi bir makale var.
performans test ve analiz çok sayıda sonra Onların sonuç şudur: resimlerinizi veya belge VARBINARY
sütun daha verimli bir veritabanında saklayarak, tipik boyutu 256K altında ise
Resimleriniz veya belgeniz genellikle 1 MB'den büyükse, dosya sisteminde saklamak daha verimlidir (SQL Server 2008'in
FILESTREAM
özniteliğinde, hala işlem denetimi altındadır ve veritabanının bir parçasıdır)
bu ikisinin arasında 10
, bir şans işi biraz
bir SQL Server tabloya resimlerinizi koymak karar verirseniz
, şiddetle ayrı tablo kullanılarak öneriyoruz kullanımınıza bağlı bulunuyor Bu fotoğrafları saklamak - çalışan fotosunu çalışma masasında saklamayın - ayrı bir masada saklayın. Böylelikle, çalışan tablonuz her zaman sorgulamalarınızın bir parçası olarak çalışan fotosını seçmeniz gerekmediği için yalın, ortalama ve çok verimli kalabilir.
Dosya grupları için, bir intro için Files and Filegroup Architecture'a bakın. Temel olarak, veritabanınızı başlangıçtan itibaren büyük veri yapıları için ayrı bir dosya grubuyla oluşturur veya daha sonra ek bir dosya grubu eklersiniz. Buna "LARGE_DATA" diyelim. dosya gruplarını MSDN intro
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
kontrol dışarı ve: Eğer VARCHAR(MAX)
veya VARBINARY(MAX)
sütunları saklaması gerekir hangi oluşturmak için yeni bir tablo var zaman
Şimdi
, Büyük veri için bu dosya grubunu belirtebilirsiniz onunla oyna!
Peki, gerçek şu ki, Tüm sorgularda küçük resmi VEYA fotoğrafını seçmemiz gerekiyor (sonuç aramaları için küçük resim ve resmin verilerini görüntülemek için girerken fotoğraf)). Bu durumda, iki sıra halinde ayrı ayrı mı olmalıyız? –