Papa Kuhikuhi ʻatikala
MySQLʻano index / hana / hoʻohana i ka combo alter inMySQLhoʻohana ʻōlelo kauoha
Nā papa kuhikuhi MySQL
He mea koʻikoʻi ka hoʻokumu ʻana o MySQL index no ka hana pono o MySQL, a hiki i ka ʻōlelo kuhikuhi ke hoʻomaikaʻi nui i ka wikiwiki o ka hoʻihoʻi ʻana o MySQL.
No ka laʻana, inā ʻo MySQL me ka hoʻolālā kūpono a me ka hoʻohana ʻana i nā kuhikuhi he Lamborghini, a laila ʻo MySQL me ka ʻole o nā kuhikuhi a me nā kuhikuhi he tricycle kanaka.
Hoʻokaʻawale ʻia ka papa kuhikuhi i ka helu helu kolamu hoʻokahi a me ka helu helu hui.Hoʻokahi kolamu kuhikuhi, ʻo ia hoʻi, he kolamu hoʻokahi wale nō i loko o ka papa kuhikuhi, hiki i ka papaʻaina ke loaʻa i nā mea kuhikuhi kikoʻī hoʻokahi kolamu, akā ʻaʻole kēia he papa kuhikuhi.ʻO ka helu helu hui, ʻo ia hoʻi, he nui nā kolamu i ka papa kuhikuhi.
I ka hana ʻana i kahi index, pono ʻoe e hōʻoia i ka ʻōlelo kuhikuhi he kūlana i hoʻopili ʻia i ka nīnau SQL (ma ke ʻano he kūlana o ka māhele WHERE).
ʻO ka ʻoiaʻiʻo, ʻo ka papa kuhikuhi pū kekahi, mālama ka papa ʻaina i ke kī mua a me nā kahua kuhikuhi, a kuhikuhi i nā moʻolelo o ka papa inoa.
Ke kamaʻilio nei nā mea i luna e pili ana i nā pono o ka hoʻohana ʻana i nā indexes, akā ʻo ka hoʻohana nui ʻana i nā kuhikuhi e alakaʻi i ka hana ʻino.No laila, e loaʻa nō hoʻi i ka papa kuhikuhi kona mau hemahema: ʻoiai ke hoʻomaikaʻi nui nei ka index i ka wikiwiki o ka nīnau, e hōʻemi ia i ka wikiwiki o ka hoʻonui ʻana i ka papa, e like me INSERT, UPDATE a DELETE o ka papa.No ka mea i ka wā e hoʻonui ai i ka papaʻaina, ʻaʻole mālama wale ʻo MySQL i ka ʻikepili, akā mālama pū kekahi i ka faila index.
Ke kuhikuhi ʻana i kahi faila kuhikuhi e hoʻopau i ka hakahaka disk.
helu helu maʻamau
hana kuhikuhi
ʻO kēia ka papa kuhikuhi nui loa, ʻaʻohe ona palena.Hiki ke hana ʻia ma nā ʻano penei:
CREATE INDEX indexName ON mytable(username(length));
No nā ʻano CHAR a me VARCHAR, hiki ke emi ka lōʻihi ma mua o ka lōʻihi maoli o ke kahua; no nā ʻano BLOB a me TEXT, pono e kuhikuhi ʻia ka lōʻihi.
Hoʻololi i ke ʻano o ka papaʻaina (hoʻohui i ka index)
ALTER table tableName ADD INDEX indexName(columnName)
E wehewehe pololei i ka hana ʻana i ka pākaukau
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );
Syntax e hoʻolei i kahi kuhikuhi
DROP INDEX [indexName] ON mytable;
kuhikuhi kū hoʻokahi
Ua like ia me ka papa kuhikuhi maʻamau, ʻo ka ʻokoʻa: pono ke kūʻokoʻa ka waiwai o ka kolamu index, akā ʻae ʻia nā helu null.I ka hihia o kahi index composite, pono ʻokoʻa ka hui ʻana o nā koina kolamu.Hiki ke hana ʻia ma nā ʻano penei:
hana kuhikuhi
CREATE UNIQUE INDEX indexName ON mytable(username(length))
Hoʻololi i ke ʻano papaʻaina
ALTER table mytable ADD UNIQUE [indexName] (username(length))
E wehewehe pololei i ka hana ʻana i ka pākaukau
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );
Hoʻohui a wehe i nā kuhikuhi me ke kauoha ALTER
ʻEhā mau ala e hoʻohui ai i kahi kuhikuhi i kahi papa ʻikepili:
- HOOLAHA PALAPALA tbl_name ADD PIMARY KEY (column_list): Hoʻohui kēia ʻōlelo i kahi kī nui, ʻo ia hoʻi he mea kū hoʻokahi nā helu helu a ʻaʻole hiki ke NULL.
- HOʻOLI PALAPALA tbl_inoa HOʻohui i ka inoa index_name (kolu_papa inoa): Pono ka waiwai o ka index i haku ʻia e kēia ʻōlelo (koe wale nō ka NULL, hiki ke ʻike pinepine ʻia ka NULL).
- HOʻOLI PAPA tbl_name ADD INDEX index_name (column_list): Hoʻohui i kahi kuhikuhi maʻamau, hiki ke ʻike ʻia ka waiwai kuhikuhi i nā manawa he nui.
- HOʻOLI PALAPALA tbl_inoa HUI FULLTEXT index_name (column_list):Hōʻike ka ʻōlelo i ka papa kuhikuhi ma ke ʻano he FULLTEXT no ka helu kikoʻī piha.
ʻO kēia hiʻohiʻona e hoʻohui i kahi index i kahi papa.
mysql> ALTER TABLE testalter_tbl ADD INDEX (c);
Hiki iā ʻoe ke hoʻohana i ka paukū DROP ma ke kauoha ALTER e hāʻule i nā kuhikuhi.E ho'āʻo i kēia laʻana e hāʻule i ka index:
mysql> ALTER TABLE testalter_tbl DROP INDEX c;
Hoʻohui a wehe i nā kī mua me ke kauoha ALTER
Hiki i ke kī nui ke hana ma hoʻokahi kolamu. I ka hoʻohui ʻana i kahi papa kuhikuhi kī mua, pono ʻoe e hōʻoia ʻaʻole NULL ke kī mua ma ka paʻamau (NOT NULL).Eia nā laʻana:
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
Hiki iā ʻoe ke holoi i kahi kī nui me ke kauoha ALTER:
mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
Pono ʻoe e kuhikuhi i ka PIMARY KEY i ka wā e hoʻokuʻu ai i ke kī mua, akā i ka wā e hāʻule ai i kahi kuhikuhi, pono ʻoe e ʻike i ka inoa kuhikuhi.
hōʻike i ka ʻike kuhikuhi
Hiki iā ʻoe ke hoʻohana i ke kauoha SHOW INDEX e hoʻopaʻa inoa i ka ʻike kuhikuhi pili i ka papa.Hiki ke hoʻopili ʻia ka ʻike puka ma ka hoʻohui ʻana i \G.
E ho'āʻo i kēia mau laʻana:
mysql> SHOW INDEX FROM table_name; \G ........
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) kaʻana like "MySQL Database Index Type/Create/Use Combination ALTER Statement Use in MySQL", he mea kōkua ia iā ʻoe.
Welina mai e kaʻana like i ka loulou o kēia ʻatikala:https://www.chenweiliang.com/cwl-496.html
Welina mai i ke kahawai Telegram o ka moʻomanaʻo ʻo Chen Weiliang e kiʻi i nā mea hou loa!
📚 He waiwai nui kēia alakaʻi, 🌟He manawa kakaikahi kēia, mai poina! ⏰⌛💨
Kaʻana like a like inā makemake ʻoe!
ʻO kāu kaʻana like a me kou makemake ʻo kā mākou hoʻoikaika mau!