जैसा कि अन्य ने पहले ही सुझाव दिया है, कई-से-अनेक संबंध भौतिक मॉडल में एक जंक्शन तालिका द्वारा दर्शाए जाते हैं। मैं पैर का काम करूँगा और इसे आपके लिए स्पष्ट करूँगा:
CATEGORY_ITEM जंक्शन तालिका है। इसमें अन्य दो तालिकाओं से माइग्रेट किए गए FK से युक्त एक समग्र PK है। उदाहरण डेटा...
श्रेणी:
CATEGORY_ID CATEGORY
----------- --------
1 Apple
2 Orange
आइटम:
ITEM_ID NAME
------- ----
1 Foo
2 Bar
CATEGORY_ITEM:
CATEGORY_ID ITEM_ID
----------- -------
1 1
2 1
1 2
उपरोक्त का अर्थ है:"फू ऐप्पल और ऑरेंज दोनों है, बार केवल ऐप्पल है" ।
पीके किसी भी श्रेणी के संयोजन को सुनिश्चित करता है और आइटम एक से अधिक बार मौजूद नहीं हो सकता है। श्रेणी या तो is not के आइटम से जुड़ी है - इसे कई बार कनेक्ट नहीं किया जा सकता है।
चूंकि आप मुख्य रूप से दी गई श्रेणी के आइटम खोजना चाहते हैं, PK में फ़ील्ड का क्रम {CATEGORY_ID, ITEM_ID} है, इसलिए अंतर्निहित अनुक्रमणिका उस क्वेरी को संतुष्ट कर सकती है। सटीक स्पष्टीकरण क्यों इस दायरे से परे है - यदि आप रुचि रखते हैं तो मैं दिल से पढ़ने की सलाह देता हूं यूज द इंडेक्स, ल्यूक ! ।
और चूंकि InnoDB क्लस्टरिंग का उपयोग करता है , यह एक ही श्रेणी से संबंधित वस्तुओं को भौतिक रूप से एक साथ संग्रहीत करेगा, जो उपरोक्त क्वेरी के I/O के लिए फायदेमंद हो सकता है।
(यदि आप दिए गए आइटम की श्रेणियों के लिए क्वेरी करना चाहते हैं, तो आपको इंडेक्स में फ़ील्ड के क्रम को फ़्लिप करना होगा।)