Microsoft अनुसंधान द्वारा वास्तव में एक अच्छा पेपर है जिसे To Blob या Not To Blob कहा जाता है ।
बड़ी संख्या में प्रदर्शन परीक्षण और विश्लेषण के बाद उनका निष्कर्ष यह है:
यदि आपके चित्र या दस्तावेज़ आमतौर पर आकार में 256KB से कम हैं, तो उन्हें डेटाबेस VARBINARY कॉलम में संग्रहीत करना अधिक कुशल है
यदि आपके चित्र या दस्तावेज़ आम तौर पर 1 एमबी से अधिक आकार के हैं, तो उन्हें फ़ाइल सिस्टम में संग्रहीत करना अधिक कुशल है (और SQL सर्वर 2008 के FILESTREAM विशेषता के साथ, वे अभी भी लेन-देन नियंत्रण और डेटाबेस के भाग के तहत हैं)
उन दोनों के बीच में, यह आपके उपयोग के आधार पर एक टॉस-अप का एक सा है
यदि आप अपनी तस्वीरों को एक SQL सर्वर तालिका में डालने का निर्णय लेते हैं, तो मैं दृढ़ता से उन चित्रों को संग्रहीत करने के लिए एक अलग तालिका का उपयोग करने की सलाह दूंगा - कर्मचारी की तस्वीर को कर्मचारी तालिका में संग्रहीत न करें - उन्हें एक अलग तालिका में रखें। इस तरह, कर्मचारी तालिका दुबला और मतलबी और बहुत कुशल रह सकती है, यह मानते हुए कि आपको हमेशा अपने प्रश्नों के भाग के रूप में कर्मचारी फोटो का चयन करने की आवश्यकता नहीं है।
Filegroups के लिए, बाहर की जाँच फ़ाइलें और Filegroup वास्तुकला एक परिचय के लिए। मूल रूप से, आप या तो शुरुआत से ही बड़ी डेटा संरचनाओं के लिए एक अलग फ़ाइल समूह के साथ अपना डेटाबेस बनाएंगे, या बाद में एक अतिरिक्त फ़ाइल समूह जोड़ सकते हैं। चलो इसे "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 परिचय की जाँच करें, और इसके साथ खेलें!