Спалучэнне тыпу/стварэння/выкарыстання індэкса базы дадзеных MySQL ALTER выкарыстанне аператара ў MySQL

MySQLindex type/create/use combo alter inMySQLвыкарыстанне інструкцыі каманды

Індэксы 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 (column_list): Гэты аператар дадае першасны ключ, што азначае, што значэнні індэкса павінны быць унікальнымі і не могуць быць NULL.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): Значэнне індэкса, створанага гэтым аператарам, павінна быць унікальным (акрамя NULL, NULL можа з'яўляцца некалькі разоў).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): Дадайце звычайны індэкс, значэнне індэкса можа з'явіцца некалькі разоў.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):Заява вызначае індэкс як 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
........

Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ ) падзяліўся інфармацыяй "Выкарыстанне камбінацыі індэксаў базы дадзеных MySQL/Тып/Стварэнне/Выкарыстанне ALTER у MySQL", якая карысная для вас.

Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-496.html

Сардэчна запрашаем на канал Telegram у блогу Чэнь Вэйляна, каб атрымліваць апошнія абнаўленні!

🔔 Будзьце першым, хто атрымае каштоўнае "Кіраўніцтва па выкарыстанні інструмента AI для маркетынгу кантэнту ChatGPT" у верхнім каталогу канала! 🌟
📚 Гэты дапаможнік мае вялікую каштоўнасць, 🌟Гэта рэдкая магчымасць, не прапусціце яе! ⏰⌛💨
Падзяліцеся і лайкайце, калі хочаце!
Ваш абмен і лайкі - наша пастаянная матывацыя!

 

发表 评论

Ваш адрас электроннай пошты не будзе апублікаваны. 必填 项 已 用 * Этыкетка

пракруціць ўверх