खोज…


टिप्पणियों

  • इस तालिका के लिए 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