Rumah > Artikel > pangkalan data > Adakah mysql mempunyai indeks bersama?
Terdapat indeks bersama dalam mysql; indeks bersama merujuk kepada pengindeksan dua atau lebih medan lajur pada jadual, juga dikenali sebagai indeks komposit Jika hanya mana-mana lajur di belakang indeks bersama dilaksanakan Apabila mencari, indeks tidak akan mempunyai sebarang kesan. Sintaks untuk mencipta indeks ialah "buat nama indeks pada nama jadual (nama medan 1, nama medan 2,...)".
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
Mysql mempunyai indeks bersama
Indeks bersama: juga dipanggil indeks komposit, merujuk kepada dua atau lebih indeks pada jadual Indeks lebih daripada satu medan lajur.
Mysql menggunakan medan dalam indeks dari kiri ke kanan Pertanyaan hanya boleh menggunakan sebahagian daripada indeks, tetapi hanya bahagian paling kiri. Contohnya, indeks ialah indeks utama (a,b,c), yang boleh menyokong carian dalam tiga kombinasi: a | a, b, c, tetapi tidak menyokong carian dalam kombinasi b dan c >
Petua: Hanya untuk Apabila mencari pada mana-mana lajur di belakang indeks bersama, indeks tidak akan mempunyai kesan-- 用户表 CREATE TABLE `user` ( `id` int(4) NOT NULL COMMENT '主键ID', `name` varchar(4) NOT NULL COMMENT '姓名', `age` int(3) NOT NULL COMMENT '年龄', PRIMARY KEY (`id`) )
1. Buat indeks
Seperti yang ditunjukkan dalam rajah di atas, kami mencipta Sekarang bahawa kami mempunyai jadual pengguna, jika kami ingin mencipta indeks bersama pada nama dan lajur umur jadual, kami boleh menggunakan SQL berikut:create index index_name_age on user (name,age);Sintaks untuk mencipta indeks bersama: cipta nama indeks indeks pada nama jadual (Nama medan 1, nama medan 2,...)
2. Padamkan indeks
Jika kami merasakan bahawa indeks bersama yang dibuat tidak sesuai, kami boleh menggunakan indeks bersama padam SQL berikut:drop index index_name_age on user;atau gunakan: tukar nama jadual jadual jatuhkan nama indeks indeks
alter table user drop index index_name_age;
3. Apabila indeks dengan nama yang sama wujud, ralat akan dilaporkan
Andaikan indeks gabungan (index_name_age) telah dibuat Jika anda mencipta indeks itu semula, ralat berikut akan dilaporkan:Query : create index index_name_age on user (name,age) Error Code : 1061 Duplicate key name 'index_name_age'
4 Lihat indeks
Lihat sintaks indeks: tunjukkan indeks daripada nama jadualPembelajaran yang disyorkan:SHOW INDEX FROM USER;tutorial video mysql
Atas ialah kandungan terperinci Adakah mysql mempunyai indeks bersama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!