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 ბრძანების გამოყენებით

მონაცემთა ცხრილში ინდექსის დამატების ოთხი გზა არსებობს:

  • TABLE-ის შეცვლა tbl_name ძირითადი გასაღების დამატება (სვეტის_სიტი): ეს განცხადება ამატებს ძირითად გასაღებს, რაც ნიშნავს, რომ ინდექსის მნიშვნელობები უნდა იყოს უნიკალური და არ შეიძლება იყოს NULL.
  • TABLE-ის შეცვლა tbl_name დაამატეთ უნიკალური ინდექსის_სახელი (სვეტის_სიტი): ამ განცხადებით შექმნილი ინდექსის მნიშვნელობა უნდა იყოს უნიკალური (გარდა NULL-ისა, NULL შეიძლება მრავალჯერ გამოჩნდეს).
  • TABLE-ის შეცვლა tbl_name დამატება INDEX index_name (სვეტის_სიტი): დაამატეთ ნორმალური ინდექსი, ინდექსის მნიშვნელობა შეიძლება რამდენჯერმე გამოჩნდეს.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (სვეტის_სიტი):განცხადებაში მითითებულია ინდექსი, როგორც FULLTEXT სრული ტექსტის ინდექსირებისთვის.

შემდეგი მაგალითი არის ცხრილის ინდექსის დამატება.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

თქვენ ასევე შეგიძლიათ გამოიყენოთ DROP პუნქტი ALTER ბრძანებაზე ინდექსების ჩამოსაშლელად.სცადეთ შემდეგი მაგალითი ინდექსის ჩამოსაშლელად:

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 პირველადი გასაღების ჩამოგდებისას, მაგრამ ინდექსის ჩაშვებისას უნდა იცოდეთ ინდექსის სახელი.


ინდექსის ინფორმაციის ჩვენება

შეგიძლიათ გამოიყენოთ SHOW INDEX ბრძანება, რათა ჩამოთვალოთ შესაბამისი ინდექსის ინფორმაცია ცხრილში.გამომავალი ინფორმაციის ფორმატირება შესაძლებელია \G-ს დამატებით.

სცადეთ შემდეგი მაგალითები:

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

იმედი ჩენ ვეილიანგის ბლოგი ( https://www.chenweiliang.com/ ) გააზიარა "MySQL მონაცემთა ბაზის ინდექსის ტიპი/შექმნა/გამოყენება კომბინირებული ALTER განაცხადის გამოყენება MySQL-ში", რომელიც თქვენთვის სასარგებლოა.

კეთილი იყოს თქვენი მობრძანება ამ სტატიის ბმულის გასაზიარებლად:https://www.chenweiliang.com/cwl-496.html

კეთილი იყოს თქვენი მობრძანება Chen Weiliang-ის ბლოგის ტელეგრამის არხზე, რომ მიიღოთ უახლესი განახლებები!

🔔 იყავით პირველი, ვინც მიიღეთ ღირებული "ChatGPT Content Marketing AI Tool Usage Guide" არხის ზედა დირექტორიაში! 🌟
📚 ეს სახელმძღვანელო შეიცავს უზარმაზარ ღირებულებას, 🌟ეს იშვიათი შესაძლებლობაა, არ გამოტოვოთ! ⏰⌛💨
გააზიარეთ და მოიწონეთ თუ მოგეწონათ!
თქვენი გაზიარება და მოწონებები ჩვენი უწყვეტი მოტივაციაა!

 

评论

თქვენი ელ.ფოსტის მისამართი არ გამოქვეყნდება. გამოყენებულია აუცილებელი ველები * ლეიბლი

გადახვევა ზევით