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