डेटाबेस तीव्रता से प्रदर्शन के साथ चिंतित हैं - गति और भंडारण को कम करना। कंप्यूटर की दुनिया के अधिकांश अन्य हिस्सों में, आप इस बात से परेशान नहीं होंगे कि आपके चरित्र में कितने अक्षर हैं; यह एक हो सकता है, यह एक विश्वकोश की संपूर्ण सामग्री हो सकती है; यह सब सिर्फ एक तार है। वास्तव में, बहुत सारी भाषाएं आपको परेशान नहीं करती हैं कि क्या यह एक स्ट्रिंग या एक संख्या है।
लेकिन जैसे-जैसे कंप्यूटर तेजी से बढ़ते हैं और अधिक मेमोरी प्राप्त करते हैं, लोग अपने डेटाबेस में अधिक डेटा डालते हैं और कट्टर सवाल करते हैं। एक डेटाबेस के लिए सीपीयू और मेमोरी आज के रूप में सीमित हैं क्योंकि वे 64Kb मुख्य मेमोरी और 10Mb हार्ड ड्राइव ( मेनफ्रेम कंप्यूटर पर) के दिनों में थे ।
चर लंबाई की संख्या से निपटने के लिए बाइट्स की एक निश्चित संख्या बहुत आसान है। 10 बाइट्स 1,000,000 से निपटने के लिए बहुत आसान है। तो आपका डेटाबेस चाहता है कि आप इसे एक सुराग दें ताकि यह आपको माइक्रोसेकंड में डेटा के टेराबाइट्स से परिणामों की एक गीगाबाइट दे सके। यदि आप अपने डेटाबेस का उपयोग नहीं कर रहे हैं, तो आपको उस गति की आवश्यकता नहीं है जो उसे दे रहा है और अनावश्यक प्रश्नों पर नाराज हो जाएगा। लेकिन अगर आपको प्रदर्शन की आवश्यकता है, तो आपको इसे कुछ संकेत देने में खुशी होगी।
के रूप में अन्य उत्तर में बताया गया है, उपयोग char
करता है, तो यह हमेशा पात्रों की एक निश्चित संख्या का उपयोग करता है varchar
, तो लंबाई भिन्न हो सकते हैं, लेकिन यह बहुत बड़ी नहीं मिलता है (मेरे अनुमान है सबसे डीबी के एक के रूप में यह इलाज char
या text
आकार पर निर्भर करता है), और text
अगर यह कोई भी लंबाई हो सकती है। अपने एसक्यूएल प्रयास करता है उपयोग करने के लिए, तो text
स्तंभ है, यह सबसे अच्छा होगा यह किसी भी तरह संक्षिप्त और एक में रख सकता है char
या छोटे varchar
स्तंभ भी है, तो कर where
के और order by
'उस पर है। बेशक, यह केवल अगर प्रदर्शन आपके लिए मायने रखता है।
text
पदावनत किया जाता है। उपयोग के विचार भी हैं जो डेटा को संग्रहीत करने से संबंधित हैं और यह कैसे एक्सेस किया जाता है।