Jenis indeks pangkalan data MySQL/buat/gunakan kombinasi ALTER penggunaan pernyataan dalam MySQL

MySQLjenis indeks/buat/gunakan kombo alter inMySQLpenggunaan pernyataan arahan

indeks MySQL

Penubuhan indeks MySQL adalah sangat penting untuk operasi MySQL yang cekap, dan indeks itu dapat meningkatkan kelajuan perolehan MySQL dengan ketara.

Sebagai contoh, jika MySQL yang direka dan diindeks dengan betul ialah Lamborghini, maka MySQL tanpa reka bentuk diindeks ialah basikal roda tiga manusia.

Indeks dibahagikan kepada indeks lajur tunggal dan indeks komposit.Indeks lajur tunggal, iaitu indeks hanya mengandungi satu lajur, jadual boleh mempunyai berbilang indeks lajur tunggal, tetapi ini bukan indeks komposit.Indeks komposit, iaitu, indeks mengandungi berbilang lajur.

Apabila membuat indeks, anda perlu memastikan bahawa indeks ialah syarat yang digunakan pada pertanyaan SQL (biasanya sebagai syarat klausa WHERE).

Malah, indeks juga merupakan jadual, jadual menyimpan kunci utama dan medan indeks, dan menunjuk kepada rekod jadual entiti.

Di atas bercakap tentang faedah menggunakan indeks, tetapi penggunaan indeks yang berlebihan akan membawa kepada penyalahgunaan.Oleh itu, indeks juga akan mempunyai kekurangannya: walaupun indeks sangat meningkatkan kelajuan pertanyaan, ia akan mengurangkan kelajuan mengemas kini jadual, seperti INSERT, UPDATE dan DELETE jadual.Kerana semasa mengemas kini jadual, MySQL bukan sahaja menyimpan data, tetapi juga menyimpan fail indeks.

Mengindeks fail indeks yang menggunakan ruang cakera.


indeks biasa

buat indeks

Ini adalah indeks yang paling asas, ia tidak mempunyai sekatan.Ia boleh dibuat dengan cara berikut:

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

Untuk jenis CHAR dan VARCHAR, panjang boleh kurang daripada panjang sebenar medan; untuk jenis BLOB dan TEXT, panjang mesti dinyatakan.

Ubah suai struktur jadual (tambah indeks)

ALTER table tableName ADD INDEX indexName(columnName)

Nyatakan secara langsung semasa membuat jadual

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

Sintaks untuk menggugurkan indeks

DROP INDEX [indexName] ON mytable; 

indeks unik

Ia serupa dengan indeks biasa sebelumnya, perbezaannya ialah: nilai lajur indeks mestilah unik, tetapi nilai nol dibenarkan.Dalam kes indeks komposit, gabungan nilai lajur mestilah unik.Ia boleh dibuat dengan cara berikut:

buat indeks

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

Ubah suai struktur jadual

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

Nyatakan secara langsung semasa membuat jadual

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

Tambah dan alih keluar indeks menggunakan arahan ALTER

Terdapat empat cara untuk menambah indeks pada jadual data:

  • ALTER TABLE tbl_name TAMBAHKAN KUNCI UTAMA (column_list): Pernyataan ini menambah kunci utama, yang bermaksud bahawa nilai indeks mestilah unik dan tidak boleh NULL.
  • ALTER TABLE tbl_name TAMBAH nama indeks UNIK (column_list): Nilai indeks yang dicipta oleh pernyataan ini mestilah unik (kecuali NULL, NULL mungkin muncul beberapa kali).
  • ALTER TABLE tbl_name TAMBAH INDEX nama indeks (column_list): Tambahkan indeks biasa, nilai indeks boleh muncul beberapa kali.
  • ALTER TABLE tbl_name TAMBAH FULLTEXT index_name (column_list):Pernyataan menentukan indeks sebagai FULLTEXT untuk pengindeksan teks penuh.

Contoh berikut ialah menambah indeks pada jadual.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Anda juga boleh menggunakan klausa DROP pada arahan ALTER untuk menggugurkan indeks.Cuba contoh berikut untuk menjatuhkan indeks:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Tambah dan alih keluar kunci utama menggunakan arahan ALTER

Kunci utama hanya boleh bertindak pada satu lajur. Apabila menambah indeks kunci utama, anda perlu memastikan bahawa kunci utama bukan NULL secara lalai (BUKAN NULL).Contohnya adalah seperti berikut:

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

Anda juga boleh memadamkan kunci utama dengan arahan ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Anda hanya perlu menentukan KUNCI PRIMER apabila menjatuhkan kunci utama, tetapi apabila menjatuhkan indeks, anda mesti tahu nama indeks.


menunjukkan maklumat indeks

Anda boleh menggunakan arahan SHOW INDEX untuk menyenaraikan maklumat indeks yang berkaitan dalam jadual.Maklumat output boleh diformatkan dengan menambah \G.

Cuba contoh berikut:

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

Blog Harapan Chen Weiliang ( https://www.chenweiliang.com/ ) berkongsi "Jenis Indeks Pangkalan Data MySQL/Buat/Gunakan Gabungan ALTER Statement Usage in MySQL", yang membantu anda.

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

Selamat datang ke saluran Telegram blog Chen Weiliang untuk mendapatkan kemas kini terkini!

🔔 Jadilah yang pertama untuk mendapatkan "Panduan Penggunaan Alat AI Pemasaran Kandungan ChatGPT" yang berharga dalam direktori teratas saluran! 🌟
📚 Panduan ini mengandungi nilai yang besar, 🌟Ini adalah peluang yang jarang berlaku, jangan lepaskan! ⏰⌛💨
Share dan like jika anda suka!
Perkongsian dan suka anda adalah motivasi berterusan kami!

 

发表 评论

Alamat e-mel anda tidak akan diterbitkan. 必填 项 已 用 * 标注

tatal ke atas