Situasi menggunakan indeks dalam mysql: 1. Jika pertanyaan dalam mematuhi prinsip paling kiri, indeks boleh digunakan secara normal 2. Jika terdapat pertanyaan julat di hadapan pertanyaan, maka sendi indeks Jika gagal, indeks tidak akan digunakan 3. Apabila jenis nilai pertanyaan adalah int dan jenis lajur adalah vachar, indeks akan gagal.
Persekitaran pengendalian tutorial ini: sistem Windows 10, mysql versi 5.7.17, komputer Dell G3.
1 Dalam mysql versi 5.7.17, dalam pertanyaan boleh menggunakan indeks
+-----------+ | version() | +-----------+ | 5.7.17 | +-----------+
2 int ,Jenis lajur ialah vachar, yang akan menyebabkan indeks, gagal.
3. Jumlah data adalah terlalu besar (200w) dan terdapat banyak dalam keadaan Ini harus dinilai oleh pengoptimum Mysql Apabila jumlah data adalah besar, pengindeksan untuk dalam pertanyaan terbaik. (PS: Bahagian ini mesti mempertimbangkan pertimbangan pengoptimum yang disertakan dengan MySQL. Mengenai prinsip pelaksanaan pengoptimum MySQL, ia agak rumit. Ringkasnya, ia adalah pertimbangan pelbagai syarat untuk memilih penyelesaian optimum yang difikirkan oleh MySQL. ialah. )
Jadi untuk medan yang ditambahkan pada indeks bersama, adakah pertanyaan dalam akan berkesan?
Pertama sekali: Untuk indeks bersama, kita perlu menjelaskan konsep Untuk indeks bersama, susunan pelaksanaan dipadankan dari kiri ke kanan, yang bersamaan dengan pesanan mengikut id, nama, dsb. Medan pertama mestilah teratur Jika anda menggunakan indeks medan kedua, anda mesti menggunakan medan pertama dahulu, dan anda mesti memastikan bahawa medan kedua adalah teratur.
Kedua: Prinsip pemadanan awalan paling kiri ialah prinsip yang sangat penting MySQL akan sentiasa dipadankan ke kanan sehingga ia menemui pertanyaan julat (>, "3" dan d = "4". Jika (a, b, c, d) indeks berjujukan, d tidak boleh menggunakan indeks, kerana medan c melakukan pertanyaan julat, dan indeks bersama tidak sah Jika anda mencipta indeks untuk (a, b, d, c), kedua-dua a dan b boleh digunakan, susunan d boleh dilaraskan sewenang-wenangnya. Hasilnya adalah sama dengan konsep di atas daripada pertanyaan Julat dalam, maka indeks bersama akan menjadi tidak sah, dan secara semula jadi dalam pertanyaan kami tidak akan menggunakan indeks
Pembelajaran yang disyorkan:
tutorial video mysqlAtas ialah kandungan terperinci Adakah dalam menggunakan indeks dalam mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!