Mysql में कंपोजिट प्राइमरी की पर INDEX कैसे है?


12

दो या अधिक स्तंभों के लिए एक समग्र प्राथमिक कुंजी बनाते समय, उदाहरण के लिए PRIMARY KEY(col1, col2, col3); क्या सिस्टम INDEXप्रत्येक कॉलम को अलग-अलग करेगा?

यह प्रश्न जो मैं पूछ रहा हूं उसका कारण यह है कि जब हम उपयोग करते हैं UNIQUE INDEX (col1, col2, col3), तो यह INDEXकेवल पहले कॉलम के रूप में कार्य करता है , और हमें INDEXअन्य स्तंभों के लिए अतिरिक्त s बनाने की आवश्यकता होती है । मैं जानना चाहता हूं कि क्या कम्पोजिट प्राइमरी की के लिए भी यही स्थिति है।

जवाबों:


16
  1. मिश्रित प्राथमिक सूचकांक हमेशा यह सुनिश्चित करेगा कि col1, col2, col3 मानों का संयोजन अद्वितीय है। यदि सूचकांक का उद्देश्य यह सुनिश्चित करना है कि मूल्य अद्वितीय हैं तो आपने वह हासिल कर लिया होगा

  2. एक सम्मिश्र सूचकांक कॉलम Col1, col2 और col3 के किसी भी संयोजन पर सूचकांक मैचों के लिए भी प्रदान करता है

  3. यदि आप दूसरों के बिना किसी भी कॉलम का उपयोग करके जुड़ते हैं या फ़िल्टर करते हैं, तो आप col2 और col3 पर अलग-अलग इंडेक्स बनाएंगे।

  4. मैं हमेशा एक संख्यात्मक प्राथमिक कुंजी (कोई व्यावसायिक संघ के साथ) पसंद करता हूं, और जहां आवश्यक हो, एक समग्र प्राथमिक कुंजी पर अद्वितीय अनुक्रमित करता है।


1
अच्छे अंक! तब, संयुक्त प्राथमिक कुंजी UNIQUE INDEX के समान है, और हमारे पास 2, 3, ... कॉलम के लिए एक पंक्ति लाने के लिए अनुक्रमणिका नहीं है?
Googlebot

1
@ssmusoke क्या मैं col1बिंदु 3 की चूक से मान सकता हूं कि SELECT * WHERE col1 = 10यह कुशल होगा?
एंडी

2
@Andy # 3, col1, col2 और col3 के मिश्रित सूचकांक के अतिरिक्त है, इसलिए मिश्रित सूचकांक का उपयोग किया जाएगा। हालाँकि, यदि आप col2 पर और col3 को बिना col1 के फ़िल्टर करते हैं, तो आपको उनमें से प्रत्येक के लिए अलग-अलग इंडेक्स की आवश्यकता है
स्टीफन सेन्कोमागो मूस

3
Col1, col2, और col3 पर एक इंडेक्स होने का मतलब है कि SELECT * FROM col1 = 10 कुशल होगा, क्योंकि col1 इंडेक्स में पहला कॉलम है, इसलिए # 3 आपको col2 और col3 के लिए भी ऐसा करने की अनुमति देता है, इसलिए यदि आप उन स्तंभों को बिना col1 के अकेले फ़िल्टर करें फिर स्तंभों को भी अनुक्रमित किया जाता है
स्टीफन सेन्कोमागो मूसो

2
@PaulWasilewski हां वास्तव में ऐसे विशेष मामले हैं जहां एक समग्र प्राथमिक कुंजी समझ में आती है, लेकिन वे सिर्फ विशेष मामले हैं।
स्टीफन सेनकोमगो मूसोक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.