मुझे बाइनरी फ़ाइलों को SQL सर्वर डेटाबेस में संग्रहीत करने की आवश्यकता है। Varbinary और Image में से बेहतर Data Type कौन सा है?
जवाबों:
चूँकि चित्र को पदावनत किया जाता है, इसलिए आपको भिन्न का उपयोग करना चाहिए।
प्रति Microsoft (लिंक @ क्रिसटन के लिए धन्यवाद)
Microsoft SQL सर्वर के भविष्य के संस्करण में ntext, पाठ और छवि डेटा प्रकार हटा दिए जाएंगे। नए विकास कार्यों में इन डेटा प्रकारों का उपयोग करने से बचें, और उन अनुप्रयोगों को संशोधित करने की योजना बनाएं जो वर्तमान में उनका उपयोग करते हैं। इसके बजाय nvarchar (अधिकतम), varchar (अधिकतम), और varbinary (अधिकतम) का उपयोग करें।
बड़े गैर-यूनिकोड और यूनिकोड चरित्र और बाइनरी डेटा को संग्रहीत करने के लिए निश्चित और परिवर्तनशील लंबाई के प्रकार। यूनिकोड डेटा यूनिकोड यूसीएस -2 वर्ण सेट का उपयोग करता है।
FileStreamSQL सर्वर 2008 में शुरू की गई बल्कि स्पिफी भी है ।
FileStreamयह केवल एक भंडारण व्यवहार है। Filestream varbinary(max)आपके sql सर्वर आवृत्ति में परिवर्तन और उपयोग करके कार्यान्वित किया जाता है ।
https://docs.microsoft.com/en-us/sql/t-sql/data-types/ntext-text-and-image-transact-sql
छवि
2 ^ 31-1 (2,147,483,647) बाइट्स के माध्यम से 0 से परिवर्तनीय-लंबाई बाइनरी डेटा। फिर भी यह छवि डेटाटाइप का उपयोग करने के लिए समर्थित है, लेकिन इसके बारे में जागरूक रहें:
https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql
भिन्नता [(n | अधिकतम)]
चर-लंबाई बाइनरी डेटा। n 1 से 8,000 तक का मान हो सकता है। अधिकतम इंगित करता है कि अधिकतम भंडारण आकार 2 ^ 31-1 बाइट्स है। भंडारण आकार डेटा की वास्तविक लंबाई है + 2 बाइट्स। दर्ज किया गया डेटा लंबाई में 0 बाइट्स हो सकता है। वर्बिनरी के लिए एएनएसआई एसक्यूएल पर्याय बाइनरी अलग है।
तो दोनों समान रूप से (2GB) हैं। लेकिन सावधान रहें:
हालांकि "छवि" डेटाटाइप का अंत अभी भी निर्धारित नहीं है, आपको "भविष्य" प्रमाण के समकक्ष का उपयोग करना चाहिए।
लेकिन आपको खुद से पूछना होगा: एक कॉलम में BLOBS का भंडारण क्यों?