KEY
और INDEX
MySQL में समानार्थी हैं। उनका मतलब एक ही है। डेटाबेस में आप इंडेक्स
का उपयोग करेंगे डेटा पुनर्प्राप्ति की गति में सुधार करने के लिए। एक इंडेक्स आमतौर पर JOIN
. में उपयोग किए जाने वाले कॉलम पर बनाया जाता है , WHERE
, और ORDER BY
खंड।
कल्पना कीजिए कि आपके पास users
. नामक एक तालिका है और आप उन सभी उपयोगकर्ताओं को खोजना चाहते हैं जिनका अंतिम नाम 'स्मिथ' है। एक सूचकांक के बिना, डेटाबेस को तालिका के सभी अभिलेखों से गुजरना होगा:यह धीमा है, क्योंकि आपके डेटाबेस में जितने अधिक रिकॉर्ड होंगे, परिणाम खोजने के लिए उसे उतना ही अधिक काम करना होगा। दूसरी ओर, एक इंडेक्स डेटाबेस को उन प्रासंगिक पेजों पर जल्दी से जाने में मदद करेगा जहां 'स्मिथ' रिकॉर्ड रखे गए हैं। यह बहुत हद तक उसी तरह है जैसे हम, मनुष्य, अंतिम नाम से किसी को खोजने के लिए फोन बुक निर्देशिका के माध्यम से जाते हैं:हम निर्देशिका के माध्यम से कवर से कवर तक खोजना शुरू नहीं करते हैं, जब तक हम किसी क्रम में जानकारी डालते हैं जिसे हम कर सकते हैं जल्दी से 'एस' पृष्ठों पर जाने के लिए उपयोग करें।
प्राथमिक कुंजी और अद्वितीय कुंजी समान हैं। प्राथमिक कुंजी एक स्तंभ, या स्तंभों का संयोजन है, जो विशिष्ट रूप से एक पंक्ति की पहचान कर सकता है। यह अद्वितीय कुंजी का एक विशेष मामला है। . एक तालिका में अधिकतम एक प्राथमिक कुंजी हो सकती है, लेकिन एक से अधिक अद्वितीय कुंजी हो सकती है। जब आप किसी स्तंभ पर एक अद्वितीय कुंजी निर्दिष्ट करते हैं, तो तालिका में किसी भी दो अलग-अलग पंक्तियों का मान समान नहीं हो सकता है।
यह भी ध्यान दें कि प्राथमिक कुंजी या अद्वितीय कुंजी के रूप में परिभाषित कॉलम स्वचालित रूप से MySQL में अनुक्रमित हो जाते हैं।