MySQL
कई-कई मैपिंग टेबल
खोज…
टिप्पणियों
- इस तालिका के लिए
AUTO_INCREMENTआईडी का अभाव - दिया गया PK 'प्राकृतिक' PK है; सरोगेट का कोई अच्छा कारण नहीं है। -
MEDIUMINT- यह एक अनुस्मारक है कि सभीINTsको उतना ही छोटा बनाया जाना चाहिए जितना सुरक्षित (छोटा ⇒ तेज) हो। निश्चित रूप से यहाँ घोषणा तालिका से जुड़ी होने वाली परिभाषा से मेल खाना चाहिए। -
UNSIGNED- लगभग सभीUNSIGNEDगैर-नकारात्मक घोषित किया जा सकता है -
NOT NULL- ठीक है, यह सच है, है ना? -
InnoDB- जिस तरह सेPRIMARY KEYको InnoDB में डेटा के साथ जोड़ा जाता है, उसके कारण MyISAM से अधिक शक्तिशाली है। -
INDEX(y_id, x_id)-PRIMARY KEYएक दिशा में जाने के लिए इसे कुशल बनाती है; अन्य दिशा को कुशल बनाता है।UNIQUEकहने की आवश्यकता नहीं; यहINSERTsपर अतिरिक्त प्रयास होगा। - द्वितीयक सूचकांक में, केवल
INDEX(y_id)यहINDEX(y_id)काम करेगा क्योंकि इसमें निहितx_idशामिलx_id। लेकिन मैं इसके बजाय यह स्पष्ट कर दूंगा कि मैं एक 'कवरिंग' इंडेक्स की उम्मीद कर रहा हूं।
आप तालिका में और कॉलम जोड़ना चाह सकते हैं; यह दुर्लभ है। अतिरिक्त स्तंभ उस संबंध के बारे में जानकारी प्रदान कर सकते हैं जो तालिका प्रस्तुत करती है।
आप FOREIGN KEY बाधाओं को जोड़ना चाह सकते हैं।
विशिष्ट स्कीमा
CREATE TABLE XtoY (
# No surrogate id for this table
x_id MEDIUMINT UNSIGNED NOT NULL, -- For JOINing to one table
y_id MEDIUMINT UNSIGNED NOT NULL, -- For JOINing to the other table
# Include other fields specific to the 'relation'
PRIMARY KEY(x_id, y_id), -- When starting with X
INDEX (y_id, x_id) -- When starting with Y
) ENGINE=InnoDB;
(रिमार्क के लिए, नीचे दिए गए रिमार्क्स देखें।)
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow