MySQL дерекқорының индексінің түрі/жасау/пайдалану комбинациясы MySQL-де ALTER мәлімдемесін пайдалану

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 пәрмені арқылы индекстерді қосу және жою

Деректер кестесіне индекс қосудың төрт жолы бар:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (баған_тізімі): Бұл мәлімдеме бастапқы кілтті қосады, яғни индекс мәндері бірегей болуы керек және NULL болмауы керек.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (баған_тізімі): Осы мәлімдеме арқылы жасалған индекс мәні бірегей болуы керек (NULL мәнінен басқа, NULL бірнеше рет пайда болуы мүмкін).
  • ALTER TABLE tbl_name ADD INDEX индекс_атауы (баған_тізімі): Қалыпты индексті қосыңыз, индекс мәні бірнеше рет пайда болуы мүмкін.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (баған_тізімі):Мәлімдеме индексті толық мәтінді индекстеу үшін FULLTEXT ретінде көрсетеді.

Келесі мысал кестеге индекс қосу болып табылады.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Сондай-ақ, индекстерді тастау үшін ALTER пәрменіндегі DROP сөйлемін пайдалануға болады.Индексті тастау үшін келесі дананы қолданып көріңіз:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

ALTER пәрмені арқылы негізгі кілттерді қосыңыз және жойыңыз

Бастапқы кілт тек бір бағанда әрекет ете алады.Негізгі кілт индексін қосқанда, бастапқы кілт әдепкі бойынша NULL емес екеніне көз жеткізу керек (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;

Бастапқы кілтті түсірген кезде тек БІРІНШІ КІШТІКті көрсету керек, бірақ индексті түсіргенде индекс атын білу керек.


индекс ақпаратын көрсету

Кестедегі сәйкес индекс ақпаратын тізімдеу үшін КӨРСЕТУ INDEX командасын пайдалануға болады.Шығарылатын ақпаратты \G қосу арқылы пішімдеуге болады.

Келесі мысалдарды қолданып көріңіз:

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

Hope Chen Weiliang блогы ( https://www.chenweiliang.com/ ) "MySQL деректер қорының индексінің түрі/жасау/пайдалану комбинациясын MySQL-де ALTER мәлімдемесін пайдалану" бөлісті, бұл сізге пайдалы.

Осы мақаланың сілтемесін бөлісуге қош келдіңіз:https://www.chenweiliang.com/cwl-496.html

Соңғы жаңартуларды алу үшін Чен Вэйлян блогының Telegram арнасына қош келдіңіз!

🔔 Арнаның жоғарғы каталогындағы құнды "ChatGPT мазмұнды маркетингтік AI құралын пайдалану нұсқаулығын" бірінші болып алыңыз! 🌟
📚 Бұл нұсқаулықта үлкен құндылық бар, 🌟Бұл сирек мүмкіндік, оны жіберіп алмаңыз! ⏰⌛💨
Ұнаса лайк басып, бөлісіңіз!
Сіздің бөлісулеріңіз бен лайктарыңыз - біздің үздіксіз мотивациямыз!

 

Пікірлер

Сіздің электрондық пошта мекен-жайыңыз жарияланбайды. 必填 项 已 用 * 标注

жоғарыға жылжытыңыз