indeks mysql
Kelebihan indeks
Indeks kelihatan seperti nama yang sangat tinggi, secara terang-terangan, ia adalah jadual kandungan terkini buku kami.
Jika anda menggunakan Kamus Xinhua untuk mencari aksara Cina "张", tanpa menggunakan jadual kandungan, anda mungkin perlu pergi dari halaman pertama Kamus Xinhua ke halaman terakhir, yang mungkin mengambil masa sehingga dua jam. Lebih tebal kamus, lebih banyak masa yang anda perlukan. Kini anda menggunakan direktori untuk mencari aksara Cina "Zhang". untuk watak Cina Ini menunjukkan kepentingan jantina.
Indeks digunakan untuk mencari baris dengan cepat yang mempunyai nilai tertentu dalam lajur.
Tanpa menggunakan indeks, MySQL mesti bermula pada rekod 1 dan kemudian membaca keseluruhan jadual sehingga ia menemui baris yang berkaitan. Lebih besar meja, lebih banyak masa yang diperlukan. Jika lajur yang ditanya dalam jadual mempunyai indeks, MySQL boleh sampai ke titik di mana ia mencari bahagian tengah fail data tanpa perlu melihat semua data.
Sudah tentu, bukan mudah untuk mempunyai terlalu banyak indeks Semakin banyak indeks yang anda tulis, semakin perlahan pengubahsuaian itu. Kerana apabila menulis data yang diubah suai, indeks juga mesti diubah suai.
Jenis indeks MySQL
索引类型 | 功能说明 |
---|---|
普通索引 | 最基本的索引,它没有任何限制 |
唯一索引 | 某一行企用了唯一索引则不准许这一列的行数据中有重复的值。针对这一列的每一行数据都要求是唯一的 |
主键索引 | 它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引,常用于用户ID。类似于书中的页码 |
全文索引 | 对于需要全局搜索的数据,进行全文索引 |
Nota: Sila kaji bahagian berikut selepas melengkapkan 12.7.
Indeks Normal
类型 | 详细说明 |
---|---|
基本语法 | alter table 表 add index(字段) |
示例 | ALTER TABLE money ADD INDEX(username ); |
示例解释 | 为money表的username字段增加索引 |
Indeks Unik
类型 | 详细说明 |
---|---|
基本语法 | alter table 表 add UNIQUE(字段) |
示例 | ALTER TABLE money ADD UNIQUE(email ); |
示例解释 | 为money表的email字段增加唯一索引 |
Indeks teks penuh
类型 | 详细说明 |
---|---|
基本语法 | alter table 表 add FULLTEXT(字段) |
示例 | ALTER TABLE money ADD FULLTEXT(content ); |
示例解释 | 为money表的content字段增加唯一索引 |
Indeks kunci utama
类型 | 详细说明 |
---|---|
基本语法 | alter table 表 add PRIMARY KEY(字段) |
示例 | ALTER TABLE money ADD PRIMARY KEY(id ); |
示例解释 | 为money表的id字段增加主键索引 |
Anda juga boleh mengisytiharkan indeks semasa mencipta jadual
Apabila mencipta jadual, anda boleh tambah yang sepadan selepas kenyataan create table Jenis boleh digunakan untuk mengisytiharkan indeks:
KUNCI UTAMA (medan)
INDEX [nama indeks] (medan)
FULLTEXT [nama indeks] (medan)
UNIK[nama indeks] (medan)
Nota: Nama indeks dalam kurungan mewakili pilihan.
Contoh keseluruhan adalah seperti berikut:
BUAT JADUAL
test
(
id
INT BUKAN NULL,
username
VARCHAR(20) BUKAN NULL ,
password
INT BUKAN NULL,
content
INT BUKAN NULL,
KUNCI UTAMA (id
),
INDEKS pw (password
),
UNIK (username
),
FULLTEKS (content
)
) ENJIN = InnoDB;