MySQL索引作用和用法詳解

2021-09-01 12:28:05 字數 1975 閱讀 3934

@優點:

@缺點:

如:對錶進行增刪改查操作時,mysql不僅要儲存資料,還要儲存索引檔案,建立索引會占用磁碟空間的索引檔案

該兩個引擎在mysql5.6版本之後,都支援以下索引

+ 主鍵只能作用於乙個列上,新增主鍵索引時,你需要確保該主鍵預設不為空(not null)

+ 索引列的值必須唯一,但允許有空值

+ 全文索引支援的字段型別包括 char ,varchar , text 。是目前實現大資料搜尋的關鍵技術

即乙個索引包含多個字段。遵從最左字首原則。知道這點即可 

按建立索引的時間分為兩大類

在建表反括號之前 [無|unique|fulltext]index 索引名(欄位名[(長度)][asc|desc])

[ ]內屬於可選選項,根據引數建立不同索引

asc與desc表示可選引數,分別表示公升序與降序,通常預設asc就行了

例如:建立乙個名為information的表,依次定義唯一性、(普通、主)、全文索引、組合索引。

ps : 普通索引與主索引建立方式相同 ,故寫乙個 ,藍色為索引名

create table information (

id char(20) primary key,          id普通字元主鍵

name char(20)not null,           名字普通字元字段

introduction text not null,          介紹文字字段

price int ,                                   **整型字段

time_s date not null,                  時間date型別字段

unique index id_unique (no),   唯一性索引

index name_key (name(20)),    普通、主索引

fulltext index introname_fulltext (name,introduction),  全文索引  有name和introduction兩個字段   

index pritime_group(price,time_s)                               組合索引 有price與time兩個字段

) engine = myisam default charset = utf8;

主要有兩種

create [無|unique|fulltext]index索引名 on 表名(欄位名[(長度)][asc|desc])

alter table 表名 add [無|unique|fulltext]index 索引名(欄位名[(長度)][asc|desc]) 

例如:建立上方的唯一性索引

create unique index  introname_fulltext on information (name,introduction)

等同於 alter table information add unique introname_fulltext  (name,introduction)

drop index 索引名 on 表名

例如:刪除上方的唯一性索引

drop index introname_fulltext   on information

可以檢視一下別人的分享:

no.1 :innodb的資料檔案本身就是索引檔案,myisam索引檔案與資料檔案是分開的

MySQL效能優化 Mysql索引作用

mysql的索引有很多用途。索引並不僅僅是在讀取資料時優 化mysql的效能。這些功能還包括 保持資料完整性 優化資料訪問效能 改進表的連線 join 操作 對結果進行排序 簡化聚合資料操作 mysql用主鍵和唯一鍵 unique key 來執行每個表中儲存數 據的唯一性等級。主鍵和唯一鍵的差別有以...

mysql索引作用的簡單理解

索引好比書的目錄,好比新華字典的拼音 偏旁部首查字,可以幫助人快速查詢到需要的內容,當資料表記錄達到幾十w級別的時候,索引的作用非常明顯。一 索引的型別 索引型別有多種,雜湊 btree 全文索引等,其實不管什麼型別,都是為了在特定業務場景下方便快速查詢資料的演算法。例如雜湊索引,key value...

mysql牽引 目標的牽引作用

看起來挺正常的一次對話,估計很多人都是這樣的,不僅僅是孩子,在職場裡面混跡多年的成年人可能也是這樣。聯想起最近在做的績效面談,還有前兩個月做的2020年工作規劃,對目標的合理制定,或者更低一點要求,有沒有目標,有些人沒想清楚。什麼是目標?我要賺大錢,我要努力學習 這些不是目標,是口號,吹牛練嗓子用的...