MySQL學習筆記(十) MySQL索引

2021-10-11 16:36:34 字數 1633 閱讀 7017

日期:2020/12/08

什麼是索引?

索引(index)是幫助mysql高效獲取資料的資料結構,可以得到索引的本質。

好處:提高查詢效率

索引需要維護,維護索引需要耗費時間,所以索引並不是越多越好。

假如,如果我們需要查詢『mysql』,首先要定位到m字母,然後再找到剩下的sql。

可以理解為排好序的快速查詢資料結構

索引的優勢:

索引的劣勢:

索引分類:

當在表中建立了primary key約束或unique約束時,mysql會自動地建立乙個唯一索引。

建立:

1、ceate index 索引名 on 表名

2、alter 表名 add index(索引名) on ……

刪除:

drop index(索引名) on 表名
檢視:

show index from 表名
案例:

建立乙個普通索引:

create table books

(bkid int not null,

bkname varchar(30),

bkauthor varchar(30),

bkprice decimal(3,1),

bkyear year not null,

index(bkyear) -- 在bkyear上建立乙個普通索引

);

檢視索引:

show index from books;
通過以下語句可以檢視建表時的命令:

show create table books;
建立乙個唯一索引:

drop table if exists books;

create table books

(bkid int not null,

bkname varchar(30),

bkauthor varchar(30),

bkprice decimal(3,1),

bkyear year not null,

unique index(bkyear) -- 在bkyear上建立乙個唯一索引

);

建立乙個復合索引:

drop table if exists books;

create table books

(bkid int not null,

bkname varchar(30),

bkauthor varchar(30),

bkprice decimal(3,1),

bkyear year not null,

index compositeindex(bkid,bkname,bkauthor)-- 組合索引

);

mysql學習筆記(十)索引

索引 乙個索引是儲存的表中乙個特定列的值資料結構 最常見的是b tree 索引是在表的列上建立。所以,要記住的關鍵點是索引包含乙個表中列的值,並且這些值儲存在乙個資料結構中,索引是一種資料結構,一般是b tree mysql索引方法有幾種 mysql目前主要有以下幾種索引方法 b tree,hash...

MySQL學習筆記 十 儲存過程

儲存過程 stored procedure 是一種在資料庫中儲存複雜程式,以便外部程式呼叫的一種資料庫物件。儲存過程是為了完成特定功能的sql語句集,經編譯建立並儲存在資料庫中,使用者可通過指定儲存過程的名字並給定引數 需要時 來呼叫執行。優點 缺點 語法格式 create procedure 過程...

mysql學習之十 mysql編碼

mysql資料庫預設的編碼是 character set latin1 collation latin1 swedish ci檢視mysql支援的編碼 mysql show character set 檢視當前mysql伺服器預設編碼 mysql show variables like charac...