Penciptaan dan penggunaan indeks MySQL
MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan untuk menyimpan dan mengurus data. Indeks adalah kunci untuk meningkatkan prestasi pertanyaan apabila berurusan dengan jumlah data yang besar. Artikel ini akan memperkenalkan cara mencipta dan menggunakan indeks MySQL dan menyediakan contoh kod khusus.
1. Apakah itu indeks?
Indeks ialah struktur data yang digunakan untuk mempercepatkan carian data dalam pangkalan data. Ia serupa dengan jadual kandungan buku dan boleh mencari data yang diperlukan dengan cepat. Indeks dalam MySQL dilaksanakan berdasarkan struktur data pokok B+, dan indeks B-Tree biasanya digunakan untuk meningkatkan kecekapan pertanyaan.
2. Kenapa anda perlukan indeks?
Tanpa indeks, pangkalan data perlu mengimbas keseluruhan jadual untuk mencari data yang diperlukan, jadi kerumitan masa pertanyaan akan meningkat secara linear apabila jumlah data meningkat. Dengan indeks, pangkalan data boleh mengesan lokasi yang mengandungi data yang diperlukan secara langsung, meningkatkan kecekapan pertanyaan.
3. Bagaimana untuk membuat indeks?
Apabila membuat jadual, anda boleh menentukan indeks dengan menambah kata kunci selepas definisi lajur. Sebagai contoh, buat jadual bernama pengguna
, yang mengandungi tiga lajur: id
, name
dan age
, dan id dan name
adalah seperti berikut: users
的表,其中包含id
、name
和age
三列,并且为id
和name
列创建索引的示例代码如下:
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), age INT, INDEX idx_id (id), INDEX idx_name (name) );
上述代码中,INDEX idx_id (id)
表示为id
列创建索引,INDEX idx_name (name)
表示为name
列创建索引。通过在列定义后使用INDEX
关键字,可以为指定的列创建索引。
除了在创建表时指定索引,还可以通过修改表结构来添加索引。例如,为已经存在的users
表的age
列添加索引的示例代码如下:
ALTER TABLE users ADD INDEX idx_age (age);
上述代码中,ALTER TABLE
用于修改表结构,ADD INDEX
表示添加索引,idx_age
是索引的名称,age
是要创建索引的列。
四、如何使用索引?
当表中存在索引时,可以通过SELECT
语句来利用索引来快速查询数据。例如,查询users
表中年龄大于等于18岁的用户的示例代码如下:
SELECT * FROM users WHERE age >= 18;
上述代码中,WHERE
用于指定查询条件,age >= 18
rrreee
INDEX idx_id (id)
dinyatakan sebagai lajur id mencipta indeks, <code>INDEX idx_name (name)
bermaksud mencipta indeks untuk lajur name
. Indeks boleh dibuat untuk lajur tertentu dengan menggunakan kata kunci INDEX
selepas takrif lajur.
Ubah suai struktur jadual dan tambah indeks
ALTER TABLE
digunakan Ubah suai struktur jadual, TAMBAH INDEX
bermaksud menambah indeks, idx_age
ialah nama indeks dan age
ialah lajur untuk mencipta indeks. 4. Bagaimana menggunakan indeks? SELECT
. Contohnya, kod sampel untuk menyoal pengguna berumur 18 tahun ke atas dalam jadual pengguna
adalah seperti berikut: WHERE
digunakan untuk menentukan pertanyaan syarat, umur >= 18
bermaksud menapis pengguna yang berumur 18 tahun ke atas. MySQL akan menggunakan indeks untuk mencari data yang memenuhi syarat dengan cepat. 5. Bagaimana untuk mengoptimumkan penggunaan indeks? Pengindeksan Nipis
Gunakan pertanyaan liputan indeks
Pertanyaan liputan indeks bermakna lajur dalam pernyataan pertanyaan disertakan dalam indeks, supaya pertanyaan boleh terus menggunakan data dalam indeks tanpa perlu mencari baris data asal. Dengan mengurangkan operasi IO, kecekapan pertanyaan boleh dipertingkatkan.Perhatikan susunan lajur indeks
Apabila mencipta indeks komposit, susunan lajur indeks adalah penting. Biasanya lajur yang paling biasa digunakan diletakkan dahulu untuk meningkatkan kecekapan pertanyaan.Atas ialah kandungan terperinci Cipta dan gunakan indeks MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!