【数据库】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子句中的额字段不该创建索引
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章