《MySQL數據庫》索引詳解

前言

索引在數據庫中至關重要,必須要牢牢掌握,在看索引篇之前必須掌握InnoDB 的數據結構:https://www.cnblogs.com/jssj/p/devil_osiris.html

索引創建與刪除

主鍵索引創建:

mysql> alter table ic_user add primary key(id); 

主鍵索引刪除:

mysql> alter table ic_user drop primary key;

唯一索引創建:

mysql> alter table ic_user add unique (name);

唯一索引刪除:

mysql> alter table ic_user drop index name;

普通索引創建:

mysql> alter table ic_user add index index_name(name);

普通索引刪除:

mysql> alter table ic_user drop index index_name;

前綴索引創建:

mysql> alter table t add key(password(7));

前綴索引刪除:

mysql> alter table t drop index password;

創建索引規範

(1) 必須要有主鍵,如果沒有可以做爲主鍵條件的列,創建無關列

(2) 經常做爲where條件列  order by  group by  join on, distinct 的條件(業務:產品功能+用戶行爲)

(3) 最好使用唯一值多的列作爲索引,如果索引列重複值較多,可以考慮使用聯合索引

(4) 列值長度較長的索引列,我們建議使用前綴索引.

(5) 降低索引條目,一方面不要創建沒用索引,不常使用的索引清理,percona toolkit(xxxxx)

(6) 索引維護要避開業務繁忙期

其他

select * from sys.schema_unused_indexes;    -- 查詢不常被使用的索引 

 

總結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章