SQL语句优化(查询优化)
2017-05-02 16:43
232 查看
1. 开启慢查询
2. 根据慢查询找到需要执行慢的语句
3. 分析语句,得到慢的原因
desc SQL语句\G;
desc select * from user\G;
4. 根据慢的原因优化SQL语句
一般都是通过添加索引来优化。
索引概念: 索引就像一本书的目录,可以加快检索数据的速度。
索引优点: 加快检索速度
索引缺点: 1、 占用磁盘空间 2、 导致写速度变慢,因为每次插入新的数据的同时需要更新一下索引
索引是有成本,我们需要合理使用索引。
索引分类普:
通索引、唯一索引、主键索引、全文索引(fulltext)
全文索引:
在mysql5.6之前,只有myisam才有全文索引。
在mysql5.6之后,innodb,myisam之后都支持全文索引
但是全文索引不支持中文。:'::::
索引在什么情况下失效:
1. like会导致索引失效
like "%name" //失效的
like "name%" //不失效
2. 字段使用函数来修饰:
例select * from u1 where md5(name) = 'j'
3. select id,name from user where pass ='fjdsklajf'
没有使用上索引,因为联合索引要根据第一个字段来检索数据。
4、 联合索引中字段,将区分度较大的字段放大前面
2. 根据慢查询找到需要执行慢的语句
3. 分析语句,得到慢的原因
desc SQL语句\G;
desc select * from user\G;
4. 根据慢的原因优化SQL语句
一般都是通过添加索引来优化。
索引概念: 索引就像一本书的目录,可以加快检索数据的速度。
索引优点: 加快检索速度
索引缺点: 1、 占用磁盘空间 2、 导致写速度变慢,因为每次插入新的数据的同时需要更新一下索引
索引是有成本,我们需要合理使用索引。
索引分类普:
通索引、唯一索引、主键索引、全文索引(fulltext)
全文索引:
在mysql5.6之前,只有myisam才有全文索引。
在mysql5.6之后,innodb,myisam之后都支持全文索引
但是全文索引不支持中文。:'::::
索引在什么情况下失效:
1. like会导致索引失效
like "%name" //失效的
like "name%" //不失效
2. 字段使用函数来修饰:
例select * from u1 where md5(name) = 'j'
3. select id,name from user where pass ='fjdsklajf'
没有使用上索引,因为联合索引要根据第一个字段来检索数据。
4、 联合索引中字段,将区分度较大的字段放大前面
相关文章推荐
- 海量数据库的查询优化及分页算法方案 2 之 改良SQL语句
- 数据库查询速度优化 2 优化SQL语句方法
- 要提高SQL查询效率where语句条件的先后次序应如何写 使你的 SQL 语句完全优化
- 【转】SQL 高性能查询优化语句
- SQL查询语句优化指南
- 一步一步优化SQL语句(二):物理查询处理
- SQL存储过程事务和优化方法(包括查询方式语句结合)
- 存储过程中Sql 语句查询速度优化 某例
- 【转】SQL 高性能查询优化语句
- SQL存储过程事务和优化方法(包括查询方式语句结合)
- 海量数据库的查询优化及分页算法方案(3)--改善SQL语句[转]
- .Net+SQL Server企业应用性能优化笔记3——SQL查询语句
- SQL 高性能查询优化语句
- 海量数据库的查询优化及分页算法方案(二)-改良SQL语句 [转]
- Sql语句查询优化总结:
- SQL存储过程事务和优化方法(包括查询方式语句结合)
- sql语句的优化分析之一查询语句中左连接和函数效率分析比较
- 优化SQL查询:如何写出高性能SQL语句
- SQL存储过程事务和优化方法(包括查询方式语句结合)
- 设计高效的SQL语句进行查询优化