आपकी प्राथमिक कुंजी आपकी तालिका है। एक InnoDB में प्राथमिक कुंजी में वास्तविक डेटा होता है इसलिए यदि प्राथमिक कुंजी में डेटा होता है तो यह तालिका होती है।
एक पल के लिए इसके बारे में सोचो। आपको एक InnoDB टेबल क्लस्टर्ड और सेकेंडरी इंडेक्स पर दो अलग-अलग प्रकार के इंडेक्स मिलते हैं। अंतर यह है कि एक संकुल सूचकांक में डेटा होता है और एक द्वितीयक सूचकांक में अनुक्रमित कॉलम और डेटा के लिए एक सूचक होता है। इस प्रकार एक द्वितीयक सूचकांक में डेटा नहीं होता है, बल्कि उस स्थान का स्थान होता है जहां डेटा CLUSTERED अनुक्रमणिका में स्थित होता है।
आम तौर पर एक प्राथमिक कुंजी एक संकुल सूचकांक है। दोनों तालिका को उसके सभी मूल्यों के साथ और फिर उसके सभी मूल्यों के साथ एक संकुल अनुक्रमणिका को संग्रहीत करना अत्यधिक अक्षम होगा। यह प्रभावी रूप से तालिका के आकार को दोगुना कर देगा।
इसलिए जब आपके पास एक प्राथमिक कुंजी होती है जो एक InnoDB पर होती है तो तालिका का आकार प्राथमिक कुंजी का आकार होता है। कुछ डेटाबेस सिस्टम में आपके पास प्राथमिक कुंजी के रूप में एक द्वितीयक अनुक्रमणिका और क्लस्टर कुंजी के रूप में एक अलग अनुक्रमणिका हो सकती है, हालांकि InnoDB इसकी अनुमति नहीं देता है।
अधिक विवरण के लिए निम्न लिंक पढ़ें:
http://dev.mysql.com /doc/refman/5.0/hi/innodb-table-and-index.html
http://dev.mysql.com/doc /refman/5.0/hi/innodb-index-types.html
इन कड़ियों में वे मेरे द्वारा ऊपर कही गई सभी बातों को अधिक विस्तार से समझाते हैं। सीधे शब्दों में कहें तो आपके पास पहले से ही प्राथमिक कुंजी सूचकांक का आकार है क्योंकि यह आपकी तालिका का आकार है।
आशा है कि यह मदद करता है।