MySQL डाटाबेस अनुक्रमणिका प्रकार/सिर्जना/प्रयोग संयोजन ALTER कथन MySQL मा प्रयोग

MySQLअनुक्रमणिका प्रकार/सिर्जना गर्नुहोस्/कम्बो परिवर्तन प्रयोग गर्नुहोस्MySQLआदेश कथन उपयोग

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

MySQL अनुक्रमणिकाको स्थापना MySQL को कुशल सञ्चालनको लागि धेरै महत्त्वपूर्ण छ, र अनुक्रमणिकाले MySQL को पुन: प्राप्ति गतिमा धेरै सुधार गर्न सक्छ।

उदाहरणका लागि, यदि MySQL व्यावहारिक डिजाइन र अनुक्रमणिकाहरूको प्रयोगको साथ एक Lamborghini हो, त्यसपछि अनुक्रमणिका र अनुक्रमणिकाहरू बिना 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 हुन सक्दैन।
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): यस कथनद्वारा सिर्जना गरिएको अनुक्रमणिकाको मान अद्वितीय हुनुपर्छ (NULL बाहेक, NULL धेरै पटक देखा पर्न सक्छ)।
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): सामान्य अनुक्रमणिका थप्नुहोस्, अनुक्रमणिका मान धेरै पटक देखा पर्न सक्छ।
  • परिवर्तन तालिका tbl_name थप्नुहोस् FULLTEXT अनुक्रमणिका_नाम (स्तम्भ_सूची):कथनले पूर्ण-पाठ अनुक्रमणिकाको लागि अनुक्रमणिकालाई 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 KEY निर्दिष्ट गर्न आवश्यक छ, तर अनुक्रमणिका छोड्दा, तपाईंले अनुक्रमणिका नाम जान्नै पर्छ।


अनुक्रमणिका जानकारी देखाउनुहोस्

तपाइँ तालिकामा सान्दर्भिक अनुक्रमणिका जानकारी सूचीबद्ध गर्न INDEX देखाउनुहोस् आदेश प्रयोग गर्न सक्नुहुन्छ।आउटपुट जानकारी \G थपेर ढाँचा गर्न सकिन्छ।

निम्न उदाहरणहरू प्रयास गर्नुहोस्:

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

आशा चेन वेइलियाङ ब्लग ( https://www.chenweiliang.com/ ) साझा गर्नुभयो "MySQL डाटाबेस अनुक्रमणिका प्रकार/सिर्जना गर्नुहोस्/MySQL मा संयोजन ALTER कथन प्रयोग प्रयोग गर्नुहोस्", जुन तपाईलाई उपयोगी छ।

यस लेखको लिङ्क साझा गर्न स्वागत छ:https://www.chenweiliang.com/cwl-496.html

नवीनतम अपडेटहरू प्राप्त गर्न चेन वेइलियाङको ब्लगको टेलिग्राम च्यानलमा स्वागत छ!

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

 

评论 评论

तपाईको इ-मेल ठेगाना प्रकाशित हुँदैन। आवाश्यक फिल्डहरू प्रयोग भएको छ * लेबल

शीर्षमा स्क्रोल गर्नुहोस्