दिलचस्प पोस्ट
AddTarget के लिए मापदंडों को पास करना: कार्यवाही: नियंत्रण एंटर के लिए ऑरेकल में क्रम के मान को रीसेट करने की आवश्यकता है स्मृति के साथ एक समारोह का निर्माण करने का सबसे अच्छा तरीका PHP कोड से टिप्पणियों को स्वचालित रूप से निकालने का सर्वोत्तम तरीका अहस्ताक्षरित बनाम हस्ताक्षरित पूर्णांक के प्रदर्शन निर्देशक के भीतर टेम्पलेट को कस्टमाइज़ करना मैं खुली फ़ाइल में दो बार क्यों नहीं पढ़ सकता हूं? .NET एप से Google के वी 8 इंजन को संदर्भित करना चयन सूची में कॉलम का कारण अमान्य है क्योंकि यह एक समेकित कार्य या ग्रुप बाय खंड में शामिल नहीं है तुलना की न्यूनतम संख्या के साथ एक सरणी में दूसरा सबसे बड़ा तत्व खोजें मैं जावास्क्रिप्ट के साथ कैसे पुनर्निर्देशित करूं? JBoss AS7 स्वसंपूर्ण तैनाती में तृतीय पक्ष JARs लोड करने के लिए सर्वश्रेष्ठ अभ्यास? NSURL सेशन के साथ JSON डाउनलोड करना किसी भी डेटा को वापस नहीं करता है फोन पर Google Play स्टोर ऐप में "इस ऐप का रेट करें" लिंक वर्तमान निर्देशिका और फ़ाइल की निर्देशिका खोजें

क्या प्राथमिक कुंजी को स्वचालित रूप से MySQL में अनुक्रमित किया जाता है?

क्या आपको स्पष्ट रूप से एक सूचकांक बनाने की आवश्यकता है या प्राथमिक कुंजी को परिभाषित करते समय क्या यह निहित है? क्या मिसाम और इंनोडीबी के लिए इसका उत्तर है?

वेब के समाधान से एकत्रित समाधान "क्या प्राथमिक कुंजी को स्वचालित रूप से MySQL में अनुक्रमित किया जाता है?"

प्राथमिक कुंजी को हमेशा अनुक्रमणित किया जाता है। यह माइस्जम और इनोडीबी के लिए समान है, और यह सभी स्टोरेज इंजनों के लिए आम तौर पर सच है, जो सभी सूचकांकों का समर्थन करते हैं।

http://dev.mysql.com/doc/refman/5.0/en/constraint-primary-key.html के अनुसार यह प्रकट होगा कि यह निहित होगा

प्राथमिक कुंजी को माइयासम और इंनोडीबी दोनों के लिए निहित रूप से अनुक्रमित किया गया है। आप एक क्वेरी पर एक्स्पेंन का उपयोग कर इसकी पुष्टि कर सकते हैं जो प्राथमिक कुंजी का उपयोग करता है।

यद्यपि 2009 में यह पूछा गया था कि मैं प्राथमिक कुंजी पर MySQL प्रलेखन के लिए वास्तविक संदर्भ पोस्ट कर रहा था। http://dev.mysql.com/doc/refman/5.5/en/optimizing-primary-keys.html

एक तालिका के लिए प्राथमिक कुंजी कॉलम या कॉलमों का सेट दर्शाती है जो आप अपने सबसे महत्वपूर्ण प्रश्नों में उपयोग करते हैं। फास्ट क्वेरी प्रदर्शन के लिए इसका संबद्ध इंडेक्स है

MySQL 5.0 संदर्भ के लिए देखें: http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

अधिकांश माइस् SQL इंडेक्स ( प्राथमिक कुंजी , अद्वितीय, इंडेक्स और फुलटेन्ट) बी पेड़ों में संग्रहीत हैं। अपवाद यह है कि स्थानिक डेटा प्रकारों पर अनुक्रमित आर-पेड़ का उपयोग करते हैं, और यह मेमोरी टेबल्स हैश अनुक्रमित का भी समर्थन करते हैं।

आपको किसी प्राथमिक कुंजी के लिए एक सूचक को स्पष्ट रूप से नहीं बनाना है … यह डिफ़ॉल्ट रूप से किया जाता है

मुझे लगता है कि यह जवाब है

mysql> create table test(id int primary key, s varchar(20)); Query OK, 0 rows affected (0.06 sec) mysql> show indexes from test \G *************************** 1. row *************************** Table: test Non_unique: 0 Key_name: PRIMARY Seq_in_index: 1 Column_name: id Collation: A Cardinality: 0 Sub_part: NULL Packed: NULL Null: Index_type: BTREE Comment: Index_comment: 1 row in set (0.00 sec) 

सूचकांक का उपयोग सबसे अच्छा स्तंभों पर किया जाता है, जिन्हें अक्सर क्लॉज में, और किसी भी तरह की छंटाई में उपयोग किया जाता है, जैसे "ऑर्डर बाय" आप अधिक जटिल डेटाबेस पर काम कर रहे हैं, इसलिए कुछ सरल नियमों को याद रखना अच्छा है।

  • इंडेक्स आवेषण और अपडेट धीमा कर देते हैं, इसलिए आप उन कॉलमों पर सावधानी से उपयोग करना चाहते हैं जो कि अक्सर अद्यतन हैं
  • अनुक्रमांक गति बढ़ाते हैं, जहां से क्लॉज़ और ऑर्डर अपने तालिकाओं के निर्माण के दौरान आपके डेटा का उपयोग कैसे किया जा रहा है, इसके बारे में सोचना याद रखें याद रखने के लिए कुछ अन्य चीजें हैं यदि आपकी तालिका बहुत छोटी है, यानी, केवल कुछ कर्मचारी, इसे छोड़ने की तुलना में किसी सूचक का उपयोग करना और बदले जाने से यह एक मेज स्कैन करते हैं।

  • इंडेक्स वास्तव में केवल तालिकाओं के साथ उपयोगी होते हैं जिनमें बहुत सी पंक्तियाँ हैं

  • याद रखने के लिए एक अन्य चीज, यह हमारे कर्मचारी डेटाबेस की स्थिति में एक चोर है, यह है कि यदि कॉलम एक चर लंबाई है, तो इंडेक्स (साथ ही साथ अधिकांश MySQL) कुशलता से बहुत कम प्रदर्शन करते हैं

  • भूलना भी शामिल नहीं है! इंडेक्सेड फिल्ड स्पीड चीजें अप करें

प्राथमिक कुंजी हमेशा स्वत: अनुक्रमित और अद्वितीय होती है। अतः, अनावश्यक अनुक्रमित बनाने के लिए सावधान रहें।

उदाहरण के लिए, यदि आपने ऐसी टेबल बनायी है

 CREATE TABLE mytable (foo INT NOT NULL PRIMARY KEY, bar INT NOT NULL, baz INT NOT NULL, UNIQUE(foo), INDEX(foo)) ENGINE=InnoDB; 

क्योंकि आप प्राथमिक कुंजी को इंडेक्स करना चाहते हैं और उस पर एक विशिष्टता बाधा को लागू करना चाहते हैं, तो आप वास्तव में foo पर तीन अनुक्रमित बनाते हैं!