MySQL UNIQUE और INDEX कॉलम - mysql, अनुक्रमण, अद्वितीय-अनुक्रमणिका पर उपयोग करें

मैं "उपयोगकर्ता नाम" नामक कॉलम के लिए त्वरित लुकअप और विशिष्टता के लिए एक इंडेक्स जोड़ना चाहता हूं। मुझे चुनने का विकल्प दिखाई देता है UNIQUE या INDEX। क्या मुझे दोनों बनाना चाहिए, या सिर्फ अद्वितीय के साथ जाना चाहिए?

मैं उपयोगकर्ता नाम का उपयोग प्राथमिक कुंजी लोगों के रूप में नहीं कर रहा हूं।

उत्तर:

जवाब के लिए 2 № 1

UNIQUE एक बनाता है INDEX स्वचालित रूप से अधिकांश डीबीएस के लिए। तो आपको जवाब देने के लिए, आपको केवल एक बनाना चाहिए, जो है UNIQUE। आप एक प्रासंगिक धागा पा सकते हैं यहाँ MySQL के लिए


जवाब के लिए 2 № 2

जब भी आप कोई विशेषता बनाते हैं तो हुड के नीचे MySQL में UNIQUE यह INDEXभी। कुछ डेटाबेस डिजाइनर स्पष्ट रूप से परिभाषित करना पसंद करते हैं UNIQUE गुण भी के रूप में INDEX, लेकिन जो कुछ भी आपकी पसंद परिणाम वही होगा।


जवाब के लिए 0 № 3

मेरा झटका है UNIQUE आपको सबसे अच्छा प्रदर्शन बढ़ावा देगा, लेकिन INDEX एक बढ़ावा भी देगा। मुझे लगता है कि आप एकमात्र कारण का उपयोग नहीं करना चाहते हैं UNIQUE यह है कि यदि आप MySQL को अनन्य मानों की जांच करने के लिए नहीं चाहते हैं, जब भी आप ऐसा करते हैं INSERT या एक UPDATE

मुझे नहीं लगता कि आपको दोनों की जरूरत है। लेकिन मैं कोई विशेषज्ञ नहीं हूं।


जवाब के लिए 0 № 4

एक टेबल पर एक प्राथमिक कुंजी भी स्वचालित रूप से mySql में एक अनुक्रमणिका है। तो यदि आप एक स्तंभ होना चाहते हैं, और एक अनूठी कुंजी है, तो आप इस तरह एक टेबल बना सकते हैं:

 CREATE TABLE `users` (
`username`,
PRIMARY KEY (`username`),
UNIQUE KEY `new_mmp_id` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

तो अंत में, आपके पास एक सूचकांक है username वह क्षेत्र जो एक अद्वितीय क्षेत्र है। यह प्राथमिक कुंजी भी है, जो स्वचालित रूप से एक सूचकांक है। आपने तालिका में विशिष्ट फ़ील्ड को कभी समझाया नहीं है, जैसे कि आपको ऑटो वृद्धिशील आईडी फ़ील्ड की आवश्यकता है

Should I create both, or just go with UNIQUE?

यदि आपके पास अद्वितीय क्षेत्र होना चाहिए username कॉलम, तो आपको def चाहिए। दोनों को बनाएं, यदि नहीं तो बस उपयोगकर्ता नाम को प्राथमिक कुंजी पर सेट करें जो एक अनुक्रमणिका है।

मेरा सुझाव है कि आप इस लेख को पढ़ लें http://www.xaprb.com/blog/2009/09/12/the-difference-between-a-unique-index-and-primary-key-in-mysql/

इंडेक्स बनाम अंतर के बीच अंतर क्या हैं MySQL में कुंजी


संबंधित सवाल
सबसे लोकप्रिय