Rumah >pangkalan data >tutorial mysql >Pengenalan Lanjutan MySQL kepada Indeks (Perkongsian Ringkasan)
Artikel ini membawa anda pengetahuan yang berkaitan tentang mysql, yang terutamanya memperkenalkan kandungan yang berkaitan tentang pengindeksan, termasuk kelebihan dan keburukan pengindeksan, klasifikasi indeks, struktur indeks dan pengindeksan Mari kita lihat penciptaan dan isu-isu lain di bawah saya harap ia akan membantu semua orang.
Pembelajaran yang disyorkan: tutorial video mysql
Takrifan rasmi MySQL bagi indeks: Indeks (Indeks) ialah struktur data yang membantu MySQL memperoleh data dengan cekap.
Intipati indeks: Indeks ialah struktur data.
Tujuan indeks: Tingkatkan kecekapan pertanyaan, yang boleh dibandingkan dengan kamus.
注:
Indeks boleh difahami secara ringkas sebagai "struktur data carian pantas diisih". Secara umumnya, indeks itu sendiri juga sangat besar dan tidak boleh disimpan sepenuhnya dalam ingatan, jadi indeks selalunya disimpan pada cakera dalam bentuk fail indeks
我们平常所说的索引,如果没有特别指明,都是指B树(多路搜索树,并不一定是二叉的)结构组织的索引
. Antaranya, indeks berkelompok, indeks kompaun, indeks awalan dan indeks unik semuanya menggunakan indeks B-tree secara lalai, secara kolektif dirujuk sebagai indeks. Kebaikan dan Kelemahan kecekapan Pengindeksan, mengurangkan kos IO pangkalan data
Kelemahan
Indeks sebenarnya ialah jadual yang menyimpan kunci utama dan medan indeks dan menunjuk kepada rekod jadual entiti, jadi lajur indeks juga akan digunakan space
Walaupun indeks sangat meningkatkan kelajuan pertanyaan, ia juga mengurangkan kelajuan mengemas kini jadual, seperti INSERT, UPDATE dan DELETE pada jadual. Kerana semasa mengemas kini jadual, MySQL bukan sahaja perlu menyimpan data, tetapi juga fail indeks Setiap kali medan yang menambah lajur indeks dikemas kini, maklumat indeks selepas perubahan nilai utama yang disebabkan oleh kemas kini akan diselaraskan
Indeks hanyalah satu faktor untuk meningkatkan kecekapan Jika MySQL anda mempunyai jadual dengan jumlah data yang besar, anda perlu meluangkan masa meneliti cara membina indeks terbaik atau mengoptimumkan pertanyaan
Klasifikasi indeks MySQL
Indeks nilai tunggal
Definisi:
Indeks hanya mengandungi lajur tunggal dan jadual boleh mempunyai berbilang indeks lajur tunggal
Indeks unik
Definisi: Nilai lajur indeks mestilah unik, tetapi nilai nol dibenarkan
注:
Indeks kompaun
Definisi:
Indeks mengandungi berbilang lajurSintaks asas
Buat
Padam
CREATE [UNIQUE] INDEX indexName ON mytable(columnnname(length));ALTER mytable ADD [UNIQUE] INDEX [indexName] ON (columnname(length))
DROP INDEX [indexName] ON mytable;
SHOW INDEX FROM table_name\G
UBAH JADUAL tbl_name TAMBAH INDEX index_name(column_list): Tambahkan indeks biasa, nilai indeks boleh muncul beberapa kali.
UBAH JADUAL tbl_name TAMBAH FULLTEXT index_name(column_list): Pernyataan ini menentukan indeks sebagai FULLTEXT untuk pengindeksan teks penuh.
[UTAMA |. UNIK |.[INDEX |. KEY]: Menunjukkan untuk membuat indeks dalam jadual data.Apabila membuat jadual data, jenis indeks boleh ditinggalkan.
Struktur indeks MySQL
Indeks BTree注:
Indeks Teks Penuh Teks Penuh
Indeks R-Tree
Penciptaan indeks
Kunci utama secara automatik Cipta indeks unik
Medan yang dikaitkan dengan yang lain jadual dalam pertanyaan, perhubungan kunci asing harus diindeks
Isu pemilihan kunci tunggal/indeks gabungan (indeks gabungan cenderung dibuat di bawah konkurensi tinggi)
Medan pengisihan dalam pertanyaan, jika medan pengisihan melepasi indeks Akses akan meningkatkan kelajuan pengisihan dengan ketara
Statistik atau medan kumpulan dalam pertanyaan
Apakah situasi yang tidak sesuai untuk dibuat indeks
Rekod jadual terlalu sedikit
Jadual yang kerap ditambah, dipadam atau diubah suai
Data adalah medan jadual pendua dan teragih sama rata, jadi hanya lajur data yang paling kerap ditanya dan paling kerap diisih harus diindeks.
Ambil perhatian bahawa jika lajur data mengandungi banyak kandungan berulang, mengindeks ia tidak akan memberi banyak kesan praktikal
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Pengenalan Lanjutan MySQL kepada Indeks (Perkongsian Ringkasan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!