索引
1. 添加索引
- 語法1:ALTER TABLE 表名 ADD index(列名)
- 語法2:CREATE INDEX 索引名 ON 表名(列名)
- 舉例:
ALTER TABLE user ADD index(user_name);
2. 查看索引
show index from user;
3. 刪除索引
- 語法1:alter table 表名 drop index 索引名
- 語法2:drop index 索引名 on 表名
alter table user drop index user
4. 慢查詢
- 就是查看下查詢語句的詳情
- 語法:在查詢語句前加關鍵字 EXPLAIN
- 返回一個表格,有如下列:
- Type:類型,是否使用了索引還是全局掃描,const,eg_reg,ref,range,index,ALL
- Key:實際使用的索引是哪個字段
- Ken_len:真正使用了哪些索引,不爲NULL的就是真實使用的索引
- Ref:顯示了哪些字段或者常量被用來和key配合從表中查詢記錄出來
- Rows:顯示了MySQL認爲在查詢中應該檢索的記錄數
- Extra:顯示了查詢中MySQL的附加信息,關心Using filesot和Using temporary,性能殺手,性能會很差
5. 索引創建的原則
- 頻繁作爲查詢條件的字段應該創建索引
- 唯一性太差的字段不適合單獨創建索引,即使頻繁作爲查詢條件
- 更新頻繁的字段不適合創建索引
- 不會出現在where子句中的額字段不該創建索引