में SHA256 हैश स्टोर करने के लिए मैं SQL सर्वर में SHA256 हैश संग्रहीत करते समय उपयोग करने के लिए डेटाटाइप पर बहस कर रहा हूं। यह चार्ज (64) या बिनरी (32) होना चाहिए ... कॉलम एक अद्वितीय क्लस्टर सूचकांक का हिस्सा होगा। मुझे पता है कि मैं शायद इस बिंदु पर बाल बांट रहा हूं, हालांकि मैं पहली बार यह सही करना चाहता हूं और मुझे पता है कि कभी-कभी आदिम डेटा प्रकार तेजी से होते हैं और अन्य बार नए और विदेशी प्रकार बेहतर प्रदर्शन करते हैं। (हाँ मुझे पता है कि चार (64) वह नया नहीं है, लेकिन यह बाइट स्टोरेज से नया है)CHAR (64) या बिनरी (32) SQL सर्वर
मैंने चारों ओर देखा है और खोज के मामले में एक बनाम दूसरे के प्रदर्शन के बारे में कुछ भी नहीं मिला , आदि
के बजाय char का उपयोग करने का एकमात्र कारण होगा, क्या यह मदद करता है? http://stackoverflow.com/questions/252156/sql-server-2005-what-data-type-to-use-to-store-passwords-hashed-by-sha-256-algo – dcaswell
मैं बाइनरी का उपयोग करूंगा (32) बस क्योंकि कोई कारण नहीं है कि मैं चार (64) के लिए बहस कर सकता हूं - एकमात्र कारण है कि मैं बाद में बहस क्यों करूंगा कि अगर सभी काम लगभग सीएलआई के माध्यम से किया जाता है (लेकिन फिर रूपांतरण कार्यों का उपयोग मानव संपर्क के लिए किया जा सकता है) । प्रोग्रामेटिक रूप से, कच्चे डेटा का इलाज करना उतना आसान है जितना आसान नहीं है। इसके परिणामस्वरूप थोड़ा कम स्थान (-> कभी भी इतनी छोटी इंडेक्स/कभी भी तेज तुलना) होता है और चूंकि मैं चार (64) के लिए बहस नहीं कर सकता, साथ ही साथ मुफ्त लाभ भी ले सकता हूं। – user2246674
जो मैं देख रहा हूं उससे बाइनरी (32) में चार (64) पर थोड़ा सा किनारा है और मैं केवल SQL पक्ष पर उस कॉलम का उपयोग करूंगा। यहां वर्णित समीकरण के दूसरी तरफ कोड में उपयोगिता है, हालांकि मैं उस मामूली किनारे को हासिल करना चाहता हूं और यदि कोई वास्तव में मौजूद है तो अतिरिक्त देव जटिलता खाएं। तो .. मैं बिनरी (32) का उपयोग करने जा रहा हूं। http://stackoverflow.com/a/16993150/128795 – kroolk