Uri ng index ng database ng MySQL/lumikha/gumamit ng kumbinasyon ALTER statement paggamit sa MySQL

MySQLuri ng index/lumikha/gumamit ng combo alter inMySQLpaggamit ng command statement

MySQL index

Ang pagtatatag ng MySQL index ay napakahalaga para sa mahusay na operasyon ng MySQL, at ang index ay maaaring lubos na mapabuti ang bilis ng pagkuha ng MySQL.

Halimbawa, kung ang MySQL na may makatwirang disenyo at paggamit ng mga index ay isang Lamborghini, kung gayon ang MySQL na walang mga index at index ay isang tricycle ng tao.

Ang index ay nahahati sa single-column index at composite index.Single-column index, iyon ay, ang isang index ay naglalaman lamang ng isang column, ang isang table ay maaaring magkaroon ng maramihang single-column index, ngunit ito ay hindi isang composite index.Composite index, ibig sabihin, ang isang index ay naglalaman ng maraming column.

Kapag gumagawa ng index, kailangan mong tiyakin na ang index ay isang kundisyon na inilapat sa SQL query (karaniwan ay bilang isang kundisyon ng WHERE clause).

Sa katunayan, ang index ay isa ring talahanayan, ang talahanayan ay nagse-save ng pangunahing key at index na mga patlang, at tumuturo sa mga talaan ng talahanayan ng entity.

Ang nasa itaas ay nagsasalita tungkol sa mga benepisyo ng paggamit ng mga index, ngunit ang labis na paggamit ng mga index ay hahantong sa pang-aabuso.Samakatuwid, ang index ay magkakaroon din ng mga pagkukulang nito: bagama't ang index ay lubos na nagpapabuti sa bilis ng query, mababawasan nito ang bilis ng pag-update ng talahanayan, tulad ng INSERT, UPDATE at DELETE sa talahanayan.Dahil kapag nag-a-update ng talahanayan, hindi lamang nai-save ng MySQL ang data, ngunit nai-save din ang index file.

Pag-index ng index file na kumonsumo ng espasyo sa disk.


normal na index

Lumikha ng index

Ito ang pinakapangunahing index, wala itong mga paghihigpit.Maaari itong malikha sa mga sumusunod na paraan:

CREATE INDEX indexName ON mytable(username(length)); 

Para sa mga uri ng CHAR at VARCHAR, maaaring mas mababa ang haba kaysa sa aktwal na haba ng field; para sa mga uri ng BLOB at TEXT, dapat na tukuyin ang haba.

Baguhin ang istraktura ng talahanayan (magdagdag ng index)

ALTER table tableName ADD INDEX indexName(columnName)

Direktang tukuyin kapag lumilikha ng talahanayan

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

Syntax para mag-drop ng index

DROP INDEX [indexName] ON mytable; 

natatanging index

Ito ay katulad ng nakaraang ordinaryong index, ang pagkakaiba ay: ang halaga ng haligi ng index ay dapat na natatangi, ngunit ang mga null na halaga ay pinapayagan.Sa kaso ng isang composite index, ang kumbinasyon ng mga halaga ng column ay dapat na natatangi.Maaari itong malikha sa mga sumusunod na paraan:

Lumikha ng index

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

Baguhin ang istraktura ng talahanayan

ALTER table mytable ADD UNIQUE [indexName] (username(length))

Direktang tukuyin kapag lumilikha ng talahanayan

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

Magdagdag at mag-alis ng mga index gamit ang ALTER command

Mayroong apat na paraan upang magdagdag ng index sa isang talahanayan ng data:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): Ang pahayag na ito ay nagdaragdag ng pangunahing susi, na nangangahulugan na ang mga halaga ng index ay dapat na natatangi at hindi maaaring NULL.
  • ALTER TABLE tbl_name MAGDAGDAG NG NATATANGING index_name (column_list): Ang halaga ng index na nilikha ng pahayag na ito ay dapat na natatangi (maliban sa NULL, NULL ay maaaring lumitaw nang maraming beses).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): Magdagdag ng isang normal na index, ang halaga ng index ay maaaring lumitaw nang maraming beses.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):Tinukoy ng statement ang index bilang FULLTEXT para sa full-text indexing.

Ang sumusunod na halimbawa ay ang magdagdag ng index sa isang table.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Maaari mo ring gamitin ang DROP clause sa ALTER command para mag-drop ng mga index.Subukan ang sumusunod na halimbawa upang i-drop ang index:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Magdagdag at mag-alis ng mga pangunahing key gamit ang ALTER command

Ang pangunahing key ay maaari lamang kumilos sa isang column. Kapag nagdadagdag ng pangunahing key index, kailangan mong tiyakin na ang pangunahing key ay hindi NULL bilang default (NOT NULL).Ang mga halimbawa ay ang mga sumusunod:

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

Maaari ka ring magtanggal ng pangunahing key gamit ang ALTER command:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Kailangan mo lang tukuyin ang PANGUNAHING SUSI kapag ibinabagsak ang pangunahing susi, ngunit kapag nag-drop ng isang index, dapat mong malaman ang pangalan ng index.


ipakita ang impormasyon ng index

Maaari mong gamitin ang utos na SHOW INDEX upang ilista ang nauugnay na impormasyon ng index sa talahanayan.Maaaring ma-format ang impormasyon ng output sa pamamagitan ng pagdaragdag ng \G.

Subukan ang mga sumusunod na halimbawa:

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

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) ibinahagi ang "MySQL Database Index Type/Create/Gumamit ng Kumbinasyon ALTER Statement Usage in MySQL", na nakakatulong sa iyo.

Maligayang pagdating upang ibahagi ang link ng artikulong ito:https://www.chenweiliang.com/cwl-496.html

Maligayang pagdating sa Telegram channel ng blog ni Chen Weiliang para makuha ang pinakabagong mga update!

🔔 Maging una upang makuha ang mahalagang "ChatGPT Content Marketing AI Tool Usage Guide" sa direktoryo ng nangungunang channel! 🌟
📚 Ang gabay na ito ay naglalaman ng malaking halaga, 🌟Ito ay isang bihirang pagkakataon, huwag palampasin ito! ⏰⌛💨
Share and like kung gusto mo!
Ang iyong pagbabahagi at pag-like ay ang aming patuloy na pagganyak!

 

发表 评论

Ang iyong email address ay hindi mai-publish. 必填 项 已 用 * Tatak

mag-scroll sa itaas