MySQL单列索引和组合索引的区别介绍_MySQL
MySQL单列索引是我们使用MySQL数据库中经常会见到的,MySQL单列索引和组合索引的区别可能有很多人还不是十分的了解,下面就为您分析两者的主要区别,供您参考学习。
为了形象地对比两者,再建一个表:
CREATE TABLE myIndex ( i_testID INT NOT NULL AUTO_INCREMENT,
vc_Name VARCHAR(50) NOT NULL,
vc_City VARCHAR(50) NOT NULL, i_Age INT NOT NULL, i_SchoolID INT NOT NULL,
PRIMARY KEY (i_testID) );
在这 10000 条记录里面 7 上 8 下地分布了 5 条 vc_Name="erquan" 的记录,只不过 city,age,school 的组合各不相同。
来看这条T-SQL:
SELECT i_testID FROM myIndex WHERE vc_Name='erquan' AND vc_City='郑州' AND i_Age=25;
首先考虑建MySQL单列索引:
在vc_Name列上建立了索引。执行 T-SQL 时,MYSQL 很快将目标锁定在了vc_Name=erquan 的 5 条记录上,取出来放到一中间结果集。在这个结果集里,先排除掉 vc_City 不等于"郑州"的记录,再排除 i_Age 不等于 25 的记录,最后筛选出唯一的符合条件的记录。
虽然在 vc_Name 上建立了索引,查询时MYSQL不用扫描整张表,效率有所提高,但离我们的要求还有一定的距离。同样的,在 vc_City 和 i_Age 分别建立的MySQL单列索引的效率相似。
为了进一步榨取 MySQL 的效率,就要考虑建立组合索引。就是将 vc_Name,vc_City,i_Age 建到一个索引里:
ALTER TABLE myIndex ADD INDEX name_city_age (vc_Name(10),vc_City,i_Age);
建表时,vc_Name 长度为 50,这里为什么用 10 呢?因为一般情况下名字的长度不会超过 10,这样会加速索引查询速度,还会减少索引文件的大小,提高 INSERT 的更新速度。
执行 T-SQL 时,MySQL 无须扫描任何记录就到找到唯一的记录。
肯定有人要问了,如果分别在 vc_Name,vc_City,i_Age 上建立单列索引,让该表有 3 个单列索引,查询时和上述的组合索引效率一样吗?大不一样,远远低于我们的组合索引。虽然此时有了三个索引,但 MySQL 只能用到其中的那个它认为似乎是最有效率的单列索引。
建立这样的组合索引,其实是相当于分别建立了
vc_Name,vc_City,i_Age vc_Name,vc_City vc_Name
这样的三个组合索引!为什么没有 vc_City,i_Age 等这样的组合索引呢?这是因为 mysql 组合索引“最左前缀”的结果。简单的理解就是只从最左面的开始组合。并不是只要包含这三列的查询都会用到该组合索引,下面的几个 T-SQL 会用到:
SELECT * FROM myIndex WHREE vc_Name="erquan" AND vc_City="郑州"
SELECT * FROM myIndex WHREE vc_Name="erquan"
而下面几个则不会用到:
SELECT * FROM myIndex WHREE i_Age=20 AND vc_City="郑州"
SELECT * FROM myIndex WHREE vc_City="郑州"

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Cara Membetulkan Penggunaan Cakera 100% pada Windows 11 Cara mudah untuk mencari aplikasi atau perkhidmatan yang bermasalah yang menyebabkan penggunaan cakera 100% adalah dengan menggunakan Pengurus Tugas. Untuk membuka Pengurus Tugas, klik kanan pada menu Mula dan pilih Pengurus Tugas. Klik pengepala lajur Cakera untuk melihat perkara yang menggunakan paling banyak sumber. Dari situ, anda akan mendapat idea yang baik tentang tempat untuk bermula. Walau bagaimanapun, masalahnya mungkin lebih serius daripada hanya menutup aplikasi atau melumpuhkan perkhidmatan. Teruskan membaca untuk mencari lebih banyak punca masalah yang berpotensi dan cara menyelesaikannya. Melumpuhkan ciri SuperfetchSuperfetch (juga dikenali sebagai SysMain dalam Windows 11) membantu mengurangkan masa permulaan dengan mengakses fail prefetch

<h2>Cara Menyembunyikan Fail dan Folder daripada Carian pada Windows 11</h2><p>Perkara pertama yang perlu kita lihat ialah menyesuaikan lokasi fail Carian Windows. Dengan melangkau lokasi khusus ini, anda sepatutnya dapat melihat hasil dengan lebih cepat sambil menyembunyikan sebarang fail yang anda ingin lindungi. </p><p>Jika anda ingin mengecualikan fail dan folder daripada carian pada Windows 11, gunakan langkah berikut: </p><ol&

Jika bar carian anda tidak berfungsi dalam Windows 11, terdapat beberapa cara pantas untuk menyediakannya dan berjalan dalam masa yang singkat! Mana-mana sistem pengendalian Microsoft boleh mengalami gangguan dari semasa ke semasa, dan sistem pengendalian terkini tidak terkecuali daripada peraturan ini. Selain itu, seperti yang ditunjukkan oleh pengguna u/zebra_head1 pada Reddit, ralat yang sama muncul pada Windows 11 dengan 22H2Build22621.1413. Pengguna mengadu bahawa pilihan untuk menogol kotak carian bar tugas secara rawak hilang. Oleh itu, anda mesti bersedia untuk sebarang keadaan. Mengapa saya tidak boleh menaip dalam bar carian pada komputer saya? Ketidakupayaan untuk menaip pada komputer boleh dikaitkan dengan faktor dan proses yang berbeza. Berikut ialah beberapa perkara yang perlu anda ketahui: Ctfmon.

Jenis indeks Oracle termasuk: 1. Indeks B-Tree; 3. Indeks fungsi; Indeks sambungan peta bit; 10. Indeks komposit. Pengenalan terperinci: 1. Indeks B-Tree ialah struktur data pokok pengimbangan sendiri yang boleh menyokong operasi serentak dengan cekap Dalam pangkalan data Oracle, indeks B-Tree ialah jenis indeks yang paling biasa digunakan. Indeks Graf Bit adalah berdasarkan jenis indeks pada algoritma bitmap dan sebagainya.

Jalankan Penyelesai Masalah Carian dan Pengindeksan dalam Outlook Salah satu pembetulan yang lebih mudah yang boleh anda mulakan ialah menjalankan Penyelesai Masalah Carian dan Pengindeksan. Untuk menjalankan penyelesai masalah pada Windows 11: Klik butang Mula atau tekan kekunci Windows dan pilih Tetapan daripada menu. Apabila Tetapan dibuka, pilih Sistem > Penyelesaian Masalah > Penyelesaian Masalah Tambahan. Tatal ke bawah di sebelah kanan, cari SearchandIndexing dan klik butang Run. Pilih Carian Outlook untuk tidak mengembalikan hasil dan teruskan dengan arahan pada skrin. Apabila anda menjalankannya, penyelesai masalah akan mengenal pasti dan membetulkan masalah secara automatik. Selepas menjalankan penyelesai masalah, buka Outlook dan lihat jika carian berfungsi dengan betul. suka

Penyelesaiannya ialah: 1. Semak sama ada nilai indeks adalah betul: mula-mula sahkan sama ada nilai indeks anda melebihi julat panjang tatasusunan. Indeks tatasusunan bermula dari 0, jadi nilai indeks maksimum hendaklah panjang tatasusunan tolak 1. Semak keadaan sempadan gelung: Jika anda menggunakan indeks untuk akses tatasusunan dalam gelung, pastikan syarat sempadan gelung adalah betul; 3. Mulakan tatasusunan: Sebelum menggunakan tatasusunan, pastikan tatasusunan telah dimulakan dengan betul. dan mengendalikannya dengan sewajarnya.

Bagaimana untuk meningkatkan kecekapan pengumpulan data dan pengagregatan data dalam PHP dan MySQL melalui indeks? Pengenalan: PHP dan MySQL kini merupakan bahasa pengaturcaraan dan sistem pengurusan pangkalan data yang paling banyak digunakan, dan sering digunakan untuk membina aplikasi web dan memproses sejumlah besar data. Pengumpulan data dan pengagregatan data adalah operasi biasa apabila memproses sejumlah besar data, tetapi jika indeks tidak direka bentuk dan digunakan dengan sewajarnya, operasi ini boleh menjadi sangat tidak cekap. Artikel ini akan memperkenalkan cara menggunakan indeks untuk meningkatkan kecekapan pengumpulan data dan pengagregatan data dalam PHP dan MySQL, serta menambah baik

Artikel ini akan menerangkan secara terperinci bagaimana PHP mengembalikan rentetan dari kedudukan mula ke kedudukan akhir rentetan dalam rentetan lain Editor berpendapat ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan artikel ini. Anda boleh memperoleh sesuatu daripada artikel ini. Gunakan fungsi substr() dalam PHP untuk mengekstrak subrentetan daripada rentetan Fungsi substr() boleh mengekstrak aksara dalam julat tertentu daripada rentetan. Sintaksnya adalah seperti berikut: substr(rentetan,mula,panjang) di mana: rentetan: rentetan asal dari mana subrentetan itu akan diekstrak. mula: Indeks kedudukan permulaan subrentetan (bermula dari 0). panjang (pilihan): Panjang subrentetan. Jika tidak dinyatakan, maka
