Jenis indeks basis data MySQL/buat/gunakan kombinasi ALTER penggunaan pernyataan di MySQL

MySQLtipe indeks/buat/gunakan perubahan kombo diMySQLpenggunaan pernyataan perintah

indeks MySQL

Pembentukan indeks MySQL sangat penting untuk pengoperasian MySQL yang efisien, dan indeks dapat sangat meningkatkan kecepatan pengambilan MySQL.

Misalnya, jika MySQL dengan desain dan penggunaan indeks yang wajar adalah Lamborghini, maka MySQL tanpa indeks dan indeks adalah roda tiga manusia.

Indeks dibagi menjadi indeks kolom tunggal dan indeks komposit.Indeks kolom tunggal, yaitu, indeks hanya berisi satu kolom, tabel dapat memiliki beberapa indeks kolom tunggal, tetapi ini bukan indeks komposit.Indeks komposit, yaitu indeks berisi banyak kolom.

Saat membuat indeks, Anda perlu memastikan bahwa indeks adalah kondisi yang diterapkan ke kueri SQL (umumnya sebagai ketentuan klausa WHERE).

Bahkan, indeks juga merupakan tabel, tabel menyimpan kunci utama dan bidang indeks, dan menunjuk ke catatan tabel entitas.

Di atas berbicara tentang manfaat menggunakan indeks, tetapi penggunaan indeks yang berlebihan akan menyebabkan penyalahgunaan.Oleh karena itu, indeks juga memiliki kekurangan: meskipun indeks sangat meningkatkan kecepatan kueri, itu akan mengurangi kecepatan memperbarui tabel, seperti INSERT, UPDATE, dan DELETE di atas meja.Karena saat mengupdate tabel, MySQL tidak hanya menyimpan data, tetapi juga menyimpan file index.

Mengindeks file indeks yang menghabiskan ruang disk.


indeks biasa

buat indeks

Ini adalah indeks paling dasar, tidak memiliki batasan.Itu dapat dibuat dengan cara berikut:

CREATE INDEX indexName ON mytable(username(length)); 

Untuk tipe CHAR dan VARCHAR, panjangnya bisa kurang dari panjang sebenarnya dari field; untuk tipe BLOB dan TEXT, panjangnya harus ditentukan.

Ubah struktur tabel (tambahkan indeks)

ALTER table tableName ADD INDEX indexName(columnName)

Tentukan langsung saat membuat tabel

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

Sintaks untuk menjatuhkan indeks

DROP INDEX [indexName] ON mytable; 

indeks unik

Mirip dengan indeks biasa sebelumnya, perbedaannya adalah: nilai kolom indeks harus unik, tetapi nilai nol diperbolehkan.Dalam kasus indeks komposit, kombinasi nilai kolom harus unik.Itu dapat dibuat dengan cara berikut:

buat indeks

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

Ubah struktur tabel

ALTER table mytable ADD UNIQUE [indexName] (username(length))

Tentukan langsung saat membuat tabel

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

Tambah dan hapus indeks menggunakan perintah ALTER

Ada empat cara untuk menambahkan indeks ke tabel data:

  • ALTER TABLE tbl_name TAMBAHKAN KUNCI UTAMA (column_list): Pernyataan ini menambahkan kunci utama, yang berarti bahwa nilai indeks harus unik dan tidak boleh NULL.
  • ALTER TABLE tbl_name TAMBAHkan nama_indeks UNIK (daftar_kolom): Nilai indeks yang dibuat oleh pernyataan ini harus unik (kecuali NULL, NULL dapat muncul beberapa kali).
  • ALTER TABLE tbl_name ADD INDEX nama_indeks (daftar_kolom): Tambahkan indeks normal, nilai indeks dapat muncul beberapa kali.
  • ALTER TABLE tbl_name TAMBAHKAN FULLTEXT indeks_name (column_list):Pernyataan tersebut menetapkan indeks sebagai FULLTEXT untuk pengindeksan teks lengkap.

Contoh berikut adalah menambahkan indeks ke tabel.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Anda juga dapat menggunakan klausa DROP pada perintah ALTER untuk menjatuhkan indeks.Coba contoh berikut untuk menjatuhkan indeks:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Tambah dan hapus kunci utama menggunakan perintah ALTER

Kunci utama hanya dapat bekerja pada satu kolom. Saat menambahkan indeks kunci utama, Anda perlu memastikan bahwa kunci utama tidak NULL secara default (BUKAN NULL).Contohnya adalah sebagai berikut:

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

Anda juga dapat menghapus kunci utama dengan perintah ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Anda hanya perlu menentukan PRIMARY KEY saat menjatuhkan kunci utama, tetapi saat menjatuhkan indeks, Anda harus mengetahui nama indeksnya.


tampilkan informasi indeks

Anda dapat menggunakan perintah SHOW INDEX untuk membuat daftar informasi indeks yang relevan dalam tabel.Informasi keluaran dapat diformat dengan menambahkan \G.

Coba contoh berikut:

mysql> SHOW INDEX FROM table_name; \G
........

Harapan Chen Weiliang Blog ( https://www.chenweiliang.com/ ) berbagi "Jenis Indeks Database MySQL/Buat/Gunakan Kombinasi ALTER Pernyataan Penggunaan di MySQL", yang berguna bagi Anda.

Selamat datang untuk membagikan tautan artikel ini:https://www.chenweiliang.com/cwl-496.html

Selamat datang di saluran Telegram blog Chen Weiliang untuk mendapatkan pembaruan terkini!

🔔 Jadilah orang pertama yang mendapatkan "Panduan Penggunaan Alat AI Pemasaran Konten ChatGPT" yang berharga di direktori teratas saluran! 🌟
📚 Panduan ini mengandung nilai yang sangat besar, 🌟Ini adalah kesempatan langka, jangan sampai terlewatkan! ⏰⌛💨
Bagikan dan sukai jika Anda suka!
Berbagi dan suka Anda adalah motivasi berkelanjutan kami!

 

发表 评论

Alamat email Anda tidak akan dipublikasikan. 必填 项 已 用 * 标注

滚动 到 顶部