Artikel ini terutama menjelaskan cara mempercepat analisis indeks MySQL dan optimalisasi situs web dinamis. iSH China Tutorial Online
1. Apa itu indeks? iSH China Tutorial Online
Index digunakan untuk menemukan catatan dengan nilai tertentu dengan cepat. Semua indeks MySQL disimpan dalam bentuk B-tree. Jika tidak ada indeks, saat menjalankan query, MySQL harus memindai semua record di seluruh tabel mulai dari record pertama hingga menemukan record yang memenuhi persyaratan. Semakin banyak jumlah record dalam tabel, semakin tinggi biaya operasinya. Jika indeks telah dibuat pada kolom yang digunakan sebagai kondisi pencarian, MySQL dapat dengan cepat mendapatkan lokasi record target tanpa memindai record apapun. Jika tabel memiliki 1000 catatan, menemukan catatan melalui indeks setidaknya 100 kali lebih cepat daripada memindai catatan secara berurutan. iSH Chinese Tutorial Online
Misalkan kita membuat tabel bernama people: iSH Chinese Tutorial Online
CREATE TABLE people ( peopleid SMALLINT NOT NULL, nama iSH Chinese Tutorial Online
CHAR
(50) NOT NULL );
nilai nama yang berbeda ke dalam tabel orang. Kolom nama tidak memiliki urutan eksplisit apa pun dalam file data. Jika kita membuat indeks pada kolom nama, MySQL akan mengurutkan kolom nama dalam indeks. Untuk setiap item dalam indeks, MySQL secara internal menyimpan "penunjuk" ke lokasi catatan sebenarnya dalam file data. Jadi, jika kita ingin mencari peopleid dari record yang namanya sama dengan "Mike" (perintah SQL adalah "SELECT peopleid FROM people WHERE name='Mike';"), MySQL dapat menemukan nilai "Mike" dalam indeks nama dan kemudian langsung menuju ke Baris yang sesuai dalam file data mengembalikan persis id orang (999) dari baris itu. Selama proses ini, MySQL hanya perlu memproses satu baris untuk mengembalikan hasilnya. Jika tidak ada indeks pada kolom "nama", MySQL akan memindai semua record dalam file data, yaitu 1.000 record! Jelasnya, semakin kecil jumlah record yang perlu diproses oleh MySQL, semakin cepat MySQL dapat menyelesaikan tugasnya. iSH Chinese Tutorial Online
2. Jenis indeks iSH Chinese Tutorial Online
MySQL menyediakan berbagai jenis indeks yang dapat dipilih: iSH Chinese Tutorial Online
indeks biasa: iSH Chinese Tutorial Online
Ini adalah jenis indeks paling dasar, dan tidak memiliki batasan seperti keunikan . Indeks biasa dapat dibuat dengan cara berikut: iSH Chinese tutorial online
membuat indeks, misalnya, CREATE INDEX <nama indeks> ON nama tabel (daftar kolom); iSH Chinese tutorial online
memodifikasi tabel, misalnya, ALTER TABLE tablename ADD INDEX [nama indeks] ] (daftar kolom); iSH Chinese Tutorial Online
Tentukan indeks saat membuat tabel, seperti CREATE TABLE nama tabel ([...], INDEX [nama indeks] (daftar kolom));
Indeks Unik
Tutorial Bahasa Mandarin Online
: iSH Tutorial Bahasa Mandarin OnlineIndeks semacam ini pada dasarnya sama dengan "indeks biasa" sebelumnya, namun ada satu perbedaan: semua nilai di kolom indeks hanya dapat muncul satu kali, yaitu harus menjadi unik. Indeks unik dapat dibuat dengan cara berikut: tutorial bahasa Mandarin iSH online
membuat indeks, seperti CREATE UNIQUE INDEX <nama indeks> ON nama tabel (daftar kolom); tutorial bahasa Mandarin iSH online
memodifikasi tabel, seperti ALTER TABLE nama tabel ADD UNIQUE [index nama] (daftar kolom); iSH Chinese Tutorial Online
Tentukan indeks saat membuat tabel, misalnya, CREATE TABLE tablename ([...], UNIQUE [nama indeks] (daftar kolom)); iSH Chinese Tutorial Online
kunci utama: iSH Tutorial Bahasa Mandarin Online
Kunci utama adalah indeks unik, tetapi harus ditentukan sebagai "PRIMARY KEY". Jika Anda pernah menggunakan kolom bertipe AUTO_INCREMENT, Anda mungkin sudah familiar dengan konsep seperti kunci utama. Kunci utama umumnya ditentukan saat membuat tabel, seperti "CREATE TABLE nama tabel ([...], PRIMARY KEY (daftar kolom));". Namun, kita juga dapat menambahkan kunci utama dengan memodifikasi tabel, seperti "ALTER TABLE nama tabel ADD PRIMARY KEY (daftar kolom);". Setiap tabel hanya dapat memiliki satu kunci utama. iSH Chinese Tutorial Online
Indeks Teks Lengkap: iSH Chinese Tutorial Online
MySQL mendukung pengindeksan teks lengkap dan pencarian teks lengkap mulai dari versi 3.23.23. Di MySQL, tipe indeks indeks teks lengkap adalah FULLTEXT. Indeks teks lengkap dapat dibuat pada kolom tipe VARCHAR atau TEXT. Itu dapat dibuat dengan perintah CREATE TABLE, atau dengan perintah ALTER TABLE atau CREATE INDEX. Untuk kumpulan data besar, membuat indeks teks lengkap melalui perintah ALTER TABLE (atau CREATE INDEX) lebih cepat daripada memasukkan catatan ke dalam tabel kosong dengan indeks teks lengkap.