MySQL如何优化索引以提高查询效率?
- 内容介绍
- 文章标签
- 相关推荐
本文共计698个文字,预计阅读时间需要3分钟。
索引(记录,持续更新)+ 索引相对一本图书的目录,通过目录可快速定位相应资源。在数据库层面,查询一张表时,有两种检索方式:+ 全表扫描 + 索引扫描(效率高)
索引 索引(记录,不断更新..)索引相当于一本书的目录,通过目录可以快速地对应相对的资源。在数据库方面,查询一张表的时候有两种检索方式:
- 全表扫描
- 根据索引检索(效率很高)
索引虽然可以提高检索的效率,但是在决定是否添加主键还是要仔细分析情况,不能随意添加,例如:当数据量较小时就不必添加索引,因为索引也是数据库的对象,需要数据库不断维护。是有维护成本的。还有当数据库中的数据需要频繁改动时就不适合加索引,因为一旦数据发生改动,索引也需要做对应的修改,进行维护。
添加索引是给某个字段,或者某些字段添加索引。
create index 索引名 on 表名(字段名);
删除索引
drop index 索引名 on 表名;
什么时候考虑添加索引
- 当数据量庞大时。
- 该字段很少的DML操作。
- 该字段经常出现在where 语句之后。
主键具有unique约束字段的会自动添加索引,所以主键的查询效率较高,尽量根据主键检索。
本文共计698个文字,预计阅读时间需要3分钟。
索引(记录,持续更新)+ 索引相对一本图书的目录,通过目录可快速定位相应资源。在数据库层面,查询一张表时,有两种检索方式:+ 全表扫描 + 索引扫描(效率高)
索引 索引(记录,不断更新..)索引相当于一本书的目录,通过目录可以快速地对应相对的资源。在数据库方面,查询一张表的时候有两种检索方式:
- 全表扫描
- 根据索引检索(效率很高)
索引虽然可以提高检索的效率,但是在决定是否添加主键还是要仔细分析情况,不能随意添加,例如:当数据量较小时就不必添加索引,因为索引也是数据库的对象,需要数据库不断维护。是有维护成本的。还有当数据库中的数据需要频繁改动时就不适合加索引,因为一旦数据发生改动,索引也需要做对应的修改,进行维护。
添加索引是给某个字段,或者某些字段添加索引。
create index 索引名 on 表名(字段名);
删除索引
drop index 索引名 on 表名;
什么时候考虑添加索引
- 当数据量庞大时。
- 该字段很少的DML操作。
- 该字段经常出现在where 语句之后。
主键具有unique约束字段的会自动添加索引,所以主键的查询效率较高,尽量根据主键检索。

