MySQL डेटाबेस इंडेक्स प्रकार/तयार/वापर संयोजन ALTER स्टेटमेंट वापर MySQL मध्ये

, 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 अनन्य अनुक्रमणिका_नाव जोडा (स्तंभ_सूची): या विधानाद्वारे तयार केलेल्या निर्देशांकाचे मूल्य अद्वितीय असणे आवश्यक आहे (NULL वगळता, NULL अनेक वेळा दिसू शकते).
  • टेबल बदला tbl_name जोडा INDEX index_name (स्तंभ_सूची): एक सामान्य अनुक्रमणिका जोडा, अनुक्रमणिका मूल्य अनेक वेळा दिसू शकते.
  • टेबल बदला.विधान पूर्ण-मजकूर अनुक्रमणिका साठी निर्देशांक FULLTEXT म्हणून निर्दिष्ट करते.

खालील उदाहरण टेबलमध्ये अनुक्रमणिका जोडण्यासाठी आहे.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

तुम्ही निर्देशांक ड्रॉप करण्यासाठी ALTER कमांडवरील DROP क्लॉज देखील वापरू शकता.निर्देशांक सोडण्यासाठी खालील उदाहरण वापरून पहा:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

ALTER कमांड वापरून प्राथमिक की जोडा आणि काढा

प्राथमिक की फक्त एका स्तंभावर कार्य करू शकते. प्राथमिक की अनुक्रमणिका जोडताना, तुम्हाला प्राथमिक की डीफॉल्टनुसार NULL नाही (NOT NULL) असल्याची खात्री करणे आवश्यक आहे.उदाहरणे खालीलप्रमाणे आहेत.

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;

प्राथमिक की टाकताना तुम्हाला फक्त PRIMARY KE निर्दिष्ट करणे आवश्यक आहे, परंतु इंडेक्स टाकताना, तुम्हाला इंडेक्सचे नाव माहित असणे आवश्यक आहे.


निर्देशांक माहिती दाखवा

टेबलमधील संबंधित इंडेक्स माहितीची यादी करण्यासाठी तुम्ही SHOW INDEX कमांड वापरू शकता.आउटपुट माहिती \G जोडून स्वरूपित केली जाऊ शकते.

खालील उदाहरणे वापरून पहा:

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

होप चेन वेइलांग ब्लॉग ( https://www.chenweiliang.com/ ) "MySQL डेटाबेस इंडेक्स प्रकार/तयार करा/वापर संयोजन ALTER विधान वापर MySQL मध्ये" सामायिक केले, जे तुमच्यासाठी उपयुक्त आहे.

या लेखाची लिंक सामायिक करण्यासाठी आपले स्वागत आहे:https://www.chenweiliang.com/cwl-496.html

नवीनतम अपडेट्स मिळवण्यासाठी चेन वेइलियांगच्या ब्लॉगच्या टेलिग्राम चॅनेलवर आपले स्वागत आहे!

🔔 चॅनल टॉप डिरेक्टरीमध्ये मौल्यवान "ChatGPT Content Marketing AI टूल वापर मार्गदर्शक" मिळवणारे पहिले व्हा! 🌟
📚 या मार्गदर्शकामध्ये प्रचंड मूल्य आहे, 🌟ही एक दुर्मिळ संधी आहे, ती चुकवू नका! ⏰⌛💨
आवडल्यास शेअर आणि लाईक करा!
तुमचे शेअरिंग आणि लाईक्स ही आमची सतत प्रेरणा आहे!

 

评论 评论

आपला ईमेल पत्ता प्रकाशित केला जाणार नाही. 用 项 已 用 * लेबल

वर स्क्रोल करा