【數據庫】1.mysql相關知識(五)

索引

  • 索引可以提高數據庫的查詢速度

1. 添加索引

  • 語法1:ALTER TABLE 表名 ADD index(列名)
    • 含義:給某表的某列添加索引
  • 語法2:CREATE INDEX 索引名 ON 表名(列名)
    • 含義:給某表的某列添加索引,並取索引名
  • 舉例:
    ALTER TABLE user ADD index(user_name);

2. 查看索引

  • 語法:show index from 表名
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子句中的額字段不該創建索引
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章