Rumah >pangkalan data >tutorial mysql >Bagaimana untuk membuat indeks dalam mysql
MySQL ialah pangkalan data hubungan yang digunakan secara meluas yang memainkan peranan penting dalam pemprosesan data. Ia menyokong banyak operasi, termasuk penciptaan indeks. Indeks adalah salah satu mekanisme penting dalam pangkalan data untuk meningkatkan kecekapan pertanyaan. Apabila menggunakan MySQL, pengindeksan adalah penting. Artikel ini akan memperkenalkan konsep indeks MySQL dan cara menciptanya.
Apabila membuat indeks, anda harus menyemak jenis data dan panjang lajur indeks untuk memastikan ia memenuhi keperluan. Untuk memastikan kecekapan indeks, adalah disyorkan untuk menggunakan perintah EXPLAIN yang disertakan dengan MySQL untuk melihat rancangan pelaksanaan pernyataan. Jika keseluruhan jadual diimbas, adalah disyorkan untuk mengoptimumkan pernyataan atau menambah indeks.
Indeks cincang boleh mempercepatkan carian, tetapi dalam beberapa kes tertentu, ia boleh menjadikan pertanyaan lebih perlahan. Sebagai contoh, indeks cincang tidak boleh digunakan apabila pengisihan diperlukan. Dalam MySQL, penggunaan indeks cincang adalah sangat rendah, kecuali apabila memproses jadual dalam memori.
Untuk mencipta indeks B-tree, anda boleh menggunakan pernyataan SQL berikut:
CREATE INDEX idx_name ON Person(name(50));
Pernyataan di atas mencipta indeks bernama idx_name dalam medan nama jadual Person . Di mana nama(50) menunjukkan bahawa panjang maksimum medan ini ialah 50.
Perlu diingatkan bahawa pengindeksan akan menduduki sumber cakera dan memori, jadi bilangan indeks harus ditentukan berdasarkan situasi sebenar dan keperluan corak akses. Adalah disyorkan untuk menguji prestasi terlebih dahulu sebelum memutuskan sama ada untuk menggunakannya.
5.1 Imbasan liputan indeks
Imbasan liputan indeks bermakna semasa proses pertanyaan, hanya indeks itu sendiri digunakan tanpa akses jadual. Ini boleh meningkatkan kecekapan pertanyaan.
Sebagai contoh, jika anda perlu mencari semua nama orang yang berumur lebih daripada 30 tahun dalam jadual Orang, anda boleh menggunakan pernyataan SQL berikut:
SELECT name FROM Person WHERE age > 30;
Jika medan umur telah diindeks, anda boleh menggunakan imbasan Liputan indeks untuk mengoptimumkan pertanyaan:
SELECT name FROM Person WHERE age > 30 AND name IS NOT NULL;
Memandangkan indeks mengandungi medan nama, indeks boleh digunakan terus semasa membuat pertanyaan tanpa akses lanjut ke jadual.
5.2 Prinsip awalan paling kiri
Prinsip awalan paling kiri bermakna apabila menggunakan indeks berbilang lajur, indeks boleh digunakan untuk pengoptimuman hanya apabila lajur pertama indeks memenuhi syarat pertanyaan. Ini bermakna jika anda perlu melakukan pertanyaan kabur pada berbilang lajur, anda harus mempertimbangkan pengindeksan dengan menggabungkan berbilang lajur ke dalam satu lajur.
5.3 Selektiviti indeks
Selektiviti indeks merujuk kepada perkadaran indeks yang digunakan dalam pertanyaan. Jika selektiviti rendah, banyak baris akan diimbas, yang akan mengurangkan kecekapan pertanyaan. Indeks yang sesuai hendaklah dipilih berdasarkan bilangan pertanyaan dan keperluan corak capaian.
Atas ialah kandungan terperinci Bagaimana untuk membuat indeks dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!