Rumah >pangkalan data >tutorial mysql >Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal

Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal

青灯夜游
青灯夜游ke hadapan
2021-11-03 19:28:157170semak imbas

Artikel ini akan membawa anda memahami indeks gabungan dalam MySQL, memperkenalkan kaedah mencipta dan memadam indeks gabungan, bercakap tentang perangkap indeks gabungan, perbezaan antara indeks gabungan dan indeks lajur tunggal, dan senario penggunaan indeks gabungan saya harap ia berguna kepada semua orang.

Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal

Apakah itu indeks komposit

Indeks pada dua atau lebih lajur dipanggil indeks bersama, dan indeks gabungan ialah Ia dipanggil indeks komposit. [Cadangan berkaitan: tutorial video mysql]

Sebagai contoh, indeks ialah key index (a,b,c), yang boleh menyokong 3 kombinasi a | a,b| a,b,c untuk carian, tetapi tidak menyokong b,c untuk cari. Apabila digunakan, gabungan a, c juga boleh digunakan, tetapi sebenarnya hanya indeks a digunakan

Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal

Cipta indeks gabungan

-- 普通的组合索引
create index index_name on table_name (column1, column2, ...)
-- 组合要求唯一的索引,相比与上一种,多出了 【unique】关键字
create unique index index_name on table_name (column1, column2, ...)

Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal

Padam indeks gabungan

-- 用法 1
drop index index_name on talbe_name
-- 用法 2
alter table table_name drop index index_name
-- 用法 3,对 2 的包装
alter table table_name drop primary key

Perangkap indeks lajur tunggal

Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal

Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal

Seperti yang ditunjukkan dalam rajah, kami telah mencipta 2 indeks Apabila menggunakan and di mana untuk membuat pertanyaan, ia boleh dilihat daripada pelan pelaksanaan bahawa hanya yang pertama digunakan indeks dengan syarat, indeks berikutnya diabaikan secara langsung

Perangkap indeks gabungan

Seperti yang ditunjukkan dalam rajah, kini cipta indeks gabungan a , b, c

Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal

Pertanyaan syarat dalam gambar di atas ialah b,a,c, mysql secara automatik akan memproses susunan syarat menjadi a,b,c , dan kemudian menggunakan indeks gabungan yang ditentukan

Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal

Keadaan pertanyaan dalam gambar di atas ialah b,a Begitu juga, mysql melaraskan susunan syarat kepada a,b, dan kemudian menggunakan indeks gabungan

<.>

Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal

Pertanyaan dalam gambar di atas Syaratnya ialah

Jelas sekali, kerana b,c tidak digunakan sebagai lajur syarat, mysql tidak menggunakan perbezaan antara indeks gabungan a

dan indeks lajur tunggal

indeks bersama Susunan lajur tengah adalah sangat penting, dari kiri.

Indeks tunggal berfungsi satu demi satu, iaitu, terdapat tiga indeks tunggal, mana-mana pertanyaan syarat yang pertama berfungsi dan yang lain tidak berfungsi.

Senario penggunaan indeks gabungan

    di mana keadaan selalunya akan muncul, dan bilangan jadual semasa agak besar.
  • apabila keadaan menggunakan
  • bukannya

    . andor

  • Indeks bersama lebih sesuai daripada indeks tunggal, kerana indeks itu menduduki jumlah ruang cakera tertentu, yang bermaksud terdapat jumlah overhed tertentu jika terdapat lebih daripada satu indeks tunggal, pembaziran pelbagai sumber juga agak besar, indeks bersama adalah bersamaan dengan membina indeks pada berbilang lajur, dan ia hanya dibina sekali, yang sangat sesuai di bawah dan keadaan.
  • Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati:
Video Pengaturcaraan

! !

Atas ialah kandungan terperinci Dapatkan pemahaman mendalam tentang indeks gabungan dalam MySQL dan lihat perbezaan daripada indeks lajur tunggal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam