MySQL डेटाबेस इंडेक्स टाइप/बनाएं/उपयोग करें संयोजन MySQL में ALTER स्टेटमेंट यूसेज

MySQLअनुक्रमणिका प्रकार/बनाएं/कॉम्बो परिवर्तन का उपयोग करेंMySQLकमांड स्टेटमेंट उपयोग

MySQL अनुक्रमणिका

MySQL के कुशल संचालन के लिए MySQL इंडेक्स की स्थापना बहुत महत्वपूर्ण है, और इंडेक्स MySQL की पुनर्प्राप्ति गति में काफी सुधार कर सकता है।

उदाहरण के लिए, यदि MySQL उचित डिज़ाइन और इंडेक्स के उपयोग के साथ एक लेम्बोर्गिनी है, तो बिना इंडेक्स और इंडेक्स के MySQL एक मानव ट्राइसाइकिल है।

इंडेक्स को सिंगल-कॉलम इंडेक्स और कंपोजिट इंडेक्स में बांटा गया है।सिंगल-कॉलम इंडेक्स, यानी इंडेक्स में केवल एक कॉलम होता है, एक टेबल में कई सिंगल-कॉलम इंडेक्स हो सकते हैं, लेकिन यह कंपोजिट इंडेक्स नहीं है।कंपोजिट इंडेक्स, यानी एक इंडेक्स में कई कॉलम होते हैं।

अनुक्रमणिका बनाते समय, आपको यह सुनिश्चित करने की आवश्यकता है कि अनुक्रमणिका SQL क्वेरी पर लागू होने वाली एक शर्त है (आमतौर पर WHERE खंड की एक शर्त के रूप में)।

वास्तव में, अनुक्रमणिका भी एक तालिका है, तालिका प्राथमिक कुंजी और अनुक्रमणिका फ़ील्ड को सहेजती है, और इकाई तालिका के रिकॉर्ड को इंगित करती है।

उपरोक्त सभी इंडेक्स का उपयोग करने के लाभों के बारे में हैं, लेकिन इंडेक्स के अत्यधिक उपयोग से दुरुपयोग होगा।इसलिए, सूचकांक में इसकी कमियां भी होंगी: हालांकि सूचकांक क्वेरी गति में काफी सुधार करता है, यह तालिका को अद्यतन करने की गति को कम कर देगा, जैसे तालिका पर INSERT, UPDATE और DELETE।क्योंकि टेबल को अपडेट करते समय MySQL न केवल डेटा को सेव करता है, बल्कि इंडेक्स फाइल को भी सेव करता है।

डिस्क स्थान की खपत करने वाली अनुक्रमणिका फ़ाइल को अनुक्रमणित करना।


सामान्य सूचकांक

सूचकांक बनाएं

यह सबसे बुनियादी सूचकांक है, इसमें कोई प्रतिबंध नहीं है।इसे निम्नलिखित तरीकों से बनाया जा सकता है:

CREATE INDEX indexName ON mytable(username(length)); 

CHAR और VARCHAR प्रकारों के लिए, लंबाई फ़ील्ड की वास्तविक लंबाई से कम हो सकती है; BLOB और TEXT प्रकारों के लिए, लंबाई निर्दिष्ट की जानी चाहिए।

तालिका संरचना संशोधित करें (सूचकांक जोड़ें)

ALTER table tableName ADD INDEX indexName(columnName)

तालिका बनाते समय सीधे निर्दिष्ट करें

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

इंडेक्स ड्रॉप करने के लिए सिंटेक्स

DROP INDEX [indexName] ON mytable; 

अद्वितीय सूचकांक

यह पिछले सामान्य सूचकांक के समान है, अंतर यह है: सूचकांक स्तंभ का मान अद्वितीय होना चाहिए, लेकिन शून्य मानों की अनुमति है।समग्र सूचकांक के मामले में, स्तंभ मानों का संयोजन अद्वितीय होना चाहिए।इसे निम्नलिखित तरीकों से बनाया जा सकता है:

सूचकांक बनाएं

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

तालिका संरचना को संशोधित करें

ALTER table mytable ADD UNIQUE [indexName] (username(length))

तालिका बनाते समय सीधे निर्दिष्ट करें

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

ALTER कमांड का उपयोग करके इंडेक्स जोड़ें और निकालें

डेटा तालिका में अनुक्रमणिका जोड़ने के चार तरीके हैं:

  • वैकल्पिक तालिका tbl_name प्राथमिक कुंजी जोड़ें (स्तंभ_सूची): यह कथन एक प्राथमिक कुंजी जोड़ता है, जिसका अर्थ है कि अनुक्रमणिका मान अद्वितीय होना चाहिए और NULL नहीं हो सकता।
  • वैकल्पिक तालिका tbl_name अद्वितीय जोड़ें index_name (column_list): इस कथन द्वारा बनाए गए सूचकांक का मान अद्वितीय होना चाहिए (NULL को छोड़कर, NULL कई बार प्रकट हो सकता है)।
  • ALTER TABLE tbl_name INDEX index_name (column_list) जोड़ें: एक सामान्य अनुक्रमणिका जोड़ें, अनुक्रमणिका मान कई बार प्रकट हो सकता है।
  • वैकल्पिक तालिका tbl_name FULLTEXT जोड़ें index_name (column_list):कथन पूर्ण-पाठ अनुक्रमण के लिए अनुक्रमणिका को FULLTEXT के रूप में निर्दिष्ट करता है।

निम्न उदाहरण तालिका में एक अनुक्रमणिका जोड़ना है।

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

आप इंडेक्स को ड्रॉप करने के लिए ALTER कमांड पर DROP क्लॉज का भी उपयोग कर सकते हैं।सूचकांक को छोड़ने के लिए निम्न उदाहरण का प्रयास करें:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

ALTER कमांड का उपयोग करके प्राथमिक कुंजियाँ जोड़ें और निकालें

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

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

आप प्राथमिक कुंजी को ALTER कमांड से भी हटा सकते हैं:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

प्राथमिक कुंजी छोड़ते समय आपको केवल प्राथमिक कुंजी निर्दिष्ट करने की आवश्यकता होती है, लेकिन अनुक्रमणिका छोड़ते समय, आपको अनुक्रमणिका का नाम पता होना चाहिए।


सूचकांक जानकारी दिखाएं

तालिका में प्रासंगिक अनुक्रमणिका जानकारी सूचीबद्ध करने के लिए आप SHOW INDEX कमांड का उपयोग कर सकते हैं।आउटपुट जानकारी को \G जोड़कर स्वरूपित किया जा सकता है।

निम्नलिखित उदाहरणों का प्रयास करें:

mysql> SHOW INDEX FROM table_name; \G
........

होप चेन वेइलियांग ब्लॉग ( https://www.chenweiliang.com/ ) ने "MySQL डेटाबेस इंडेक्स टाइप/क्रिएट/यूज कॉम्बिनेशन ALTER स्टेटमेंट यूसेज इन MySQL" शेयर किया, जो आपके लिए मददगार है।

इस लेख का लिंक साझा करने के लिए आपका स्वागत है:https://www.chenweiliang.com/cwl-496.html

नवीनतम अपडेट प्राप्त करने के लिए चेन वेइलियांग के ब्लॉग के टेलीग्राम चैनल में आपका स्वागत है!

🔔 चैनल शीर्ष निर्देशिका में मूल्यवान "चैटजीपीटी कंटेंट मार्केटिंग एआई टूल उपयोग गाइड" प्राप्त करने वाले पहले व्यक्ति बनें! 🌟
📚 इस गाइड में बहुत महत्व है, 🌟यह एक दुर्लभ अवसर है, इसे न चूकें! ⏰⌛💨
अच्छा लगे तो शेयर और लाइक करें!
आपका साझा करना और पसंद करना हमारी निरंतर प्रेरणा है!

 

发表 评论

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड का उपयोग किया जाता है * लेबल

शीर्ष तक स्क्रॉल करें