mysql數量級_30.關於MySQL索引的定義及理解
阿新 • • 發佈:2020-12-27
技術標籤:mysql數量級
更多內容來源:http://mp.weixin.qq.com/mp/homepage?__biz=MzA5OTQ1ODE1NQ==&hid=6&sn=843337a7d9931839214ec8f861ac2164&scene=18#wechat_redirect
1、定義
索引在MySQL中也叫做“鍵”,是儲存引擎用於快速找到記錄的一種資料結構。索引對於良好的效能
非常關鍵,尤其是當表中的資料量越來越大時,索引對於效能的影響愈發重要。
索引優化應該是對查詢效能優化最有效的手段了。索引能夠輕易將查詢效能提高好幾個數量級。
索引相當於字典的音序表,如果要查某個字,如果不使用音序表,則需要從幾百頁中逐頁去查。
2、MySQL的索引分類
索引分類
1.普通索引index :加速查詢
2.唯一索引
主鍵索引:primary key :加速查詢+約束(不為空且唯一)
唯一索引:unique:加速查詢+約束 (唯一)
3.聯合索引
-primary key(id,name):聯合主鍵索引
-unique(id,name):聯合唯一索引
-index(id,name):聯合普通索引
4.全文索引fulltext :用於搜尋很長一篇文章的時候,效果最好。
5.空間索引spatial :瞭解就好,幾乎不用
3、建立
善用幫助文件 help create help create index ================== 1.建立索引 -在建立表時就建立(需要注意的幾點) create table s1( id int ,#可以在這加primary key #id int index #不可以這樣加索引,因為index只是索引,沒有約束一說, #不能像主鍵,還有唯一約束一樣,在定義欄位的時候加索引 name char(20), age int, email varchar(30) #primary key(id) #也可以在這加 index(id) #可以這樣加 ); -在建立表後在建立 create index name on s1(name); #新增普通索引 create unique age on s1(age);新增唯一索引 alter table s1 add primary key(id); #新增住建索引,也就是給id欄位增加一個主鍵約束 create index name on s1(id,name); #新增普通聯合索引 2.刪除索引 drop index id on s1; drop index name on s1; #刪除普通索引 drop index age on s1; #刪除唯一索引,就和普通索引一樣,不用在index前加unique來刪,直接就可以刪了 alter table s1 drop primary key; #刪除主鍵(因為它新增的時候是按照alter來增加的,那麼我們也用alter來刪)
來自 部落格園 bypp/p/7755307.html