Artikel Directory
MySQLyndekstype/oanmeitsje/gebrûk kombinaasje feroarje ynMySQLkommando statement gebrûk
MySQL-yndeksen
De oprjochting fan MySQL-yndeks is tige wichtich foar de effisjinte wurking fan MySQL, en de yndeks kin de opheljensnelheid fan MySQL sterk ferbetterje.
Bygelyks, as MySQL mei ridlik ûntwerp en gebrûk fan yndeksen in Lamborghini is, dan is MySQL sûnder yndeksen en yndeksen in minsklike trijewieler.
De yndeks is ferdield yn single-column index en gearstalde yndeks.Single-kolom yndeks, dat is, in yndeks befettet mar ien kolom, in tabel kin hawwe meardere single-kolom yndeks, mar dit is net in gearstalde yndeks.Gearstalde yndeks, dat is, in yndeks befettet meardere kolommen.
By it meitsjen fan in yndeks moatte jo der wis fan wêze dat de yndeks in betingst is dy't jildt foar de SQL-query (meastentiids as betingst fan 'e WHERE-klausule).
Yn feite is in yndeks ek in tabel dy't de primêre kaai- en yndeksfjilden bewarret en wiist nei de records fan 'e entiteitstabel.
De boppesteande prate oer de foardielen fan it brûken fan yndeksen, mar oermjittich gebrûk fan yndeksen sil liede ta misbrûk.Dêrom sil de yndeks ek syn tekoarten hawwe: hoewol de yndeks de query-snelheid sterk ferbettert, sil it de snelheid fan it bywurkjen fan de tabel ferminderje, lykas INSERT, UPDATE en DELETE fan 'e tabel.Om't by it bywurkjen fan 'e tabel, MySQL net allinich de gegevens bewarret, mar ek de yndeksbestân bewarret.
It yndeksearjen fan in yndeksbestân dat skiifromte ferbrûkt.
normale yndeks
meitsje yndeks
Dit is de meast basale yndeks, it hat gjin beheiningen.It kin makke wurde op 'e folgjende manieren:
CREATE INDEX indexName ON mytable(username(length));
Foar CHAR- en VARCHAR-typen kin de lingte minder wêze as de eigentlike lingte fan it fjild; foar BLOB- en TEXT-typen moat de lingte oantsjutte wurde.
Tabelstruktuer wizigje (yndeks taheakje)
ALTER table tableName ADD INDEX indexName(columnName)
Spesifisearje direkt by it meitsjen fan de tabel
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );
Syntaksis om in yndeks te fallen
DROP INDEX [indexName] ON mytable;
unike yndeks
It is fergelykber mei de foarige gewoane yndeks, it ferskil is: de wearde fan 'e yndekskolom moat unyk wêze, mar nulwearden binne tastien.Yn it gefal fan in gearstalde yndeks moat de kombinaasje fan kolomwearden unyk wêze.It kin makke wurde op 'e folgjende manieren:
meitsje yndeks
CREATE UNIQUE INDEX indexName ON mytable(username(length))
Feroarje tabel struktuer
ALTER table mytable ADD UNIQUE [indexName] (username(length))
Spesifisearje direkt by it meitsjen fan de tabel
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );
Foegje yndeksen ta en fuortsmite mei it kommando ALTER
D'r binne fjouwer manieren om in yndeks ta te foegjen oan in gegevenstabel:
- ALTER TABEL tbl_name ADD PRIMARY KEY (column_list): Dizze ferklearring foeget in primêre kaai ta, wat betsjut dat yndekswearden unyk moatte wêze en net NULL kinne wêze.
- ALTER TABLE tbl_name UNIEKE yndeksnamme taheakje (column_list): De wearde fan de yndeks makke troch dizze ferklearring moat unyk wêze (útsein NULL, NULL kin meardere kearen ferskine).
- ALTER TABLE tbl_name ADD INDEX index_name (column_list): Foegje in normale yndeks ta, de yndekswearde kin meardere kearen ferskine.
- ALTER TABLE tbl_name FULLTEXT ADD index_name (column_list):De ferklearring spesifiseart de yndeks as FULLTEXT foar folsleine-tekstyndeksearring.
It folgjende foarbyld is om in yndeks ta te foegjen oan in tabel.
mysql> ALTER TABLE testalter_tbl ADD INDEX (c);
Jo kinne ek de DROP-klausule brûke op it ALTER-kommando om yndeksen te fallen.Besykje it folgjende eksimplaar om de yndeks te fallen:
mysql> ALTER TABLE testalter_tbl DROP INDEX c;
Primêre kaaien tafoegje en fuortsmite mei it kommando ALTER
De primêre kaai kin mar hannelje op ien kolom. By it tafoegjen fan in primêre kaai yndeks moatte jo derfoar soargje dat de primêre kaai net standert NULL is (NOT NULL).Foarbylden binne as folget:
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
Jo kinne ek in primêre kaai wiskje mei it kommando ALTER:
mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
Jo moatte allinich de PRIMARY KEY opjaan as jo de primêre kaai falle, mar as jo in yndeks falle, moatte jo de yndeksnamme witte.
show yndeks ynformaasje
Jo kinne it kommando SHOW INDEX brûke om de relevante yndeksynformaasje yn 'e tabel te listjen.De útfierynformaasje kin opmakke wurde troch \G.
Besykje de folgjende foarbylden:
mysql> SHOW INDEX FROM table_name; \G ........
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) dielde "MySQL Database Index Type / Meitsje / Brûk kombinaasje ALTER Statement Usage yn MySQL", dat is nuttich foar jo.
Wolkom om de keppeling fan dit artikel te dielen:https://www.chenweiliang.com/cwl-496.html
Wolkom by it Telegram-kanaal fan Chen Weiliang's blog om de lêste updates te krijen!
📚 Dizze hantlieding befettet enoarme wearde, 🌟Dit is in seldsume kâns, mis it net! ⏰⌛💨
Diel en like as jo wolle!
Jo dielen en likes binne ús trochgeande motivaasje!