mysql数据库 SQL查询语句优化和一些注意
2015-11-22 21:08
666 查看
1、mysql不支持top,它是采用limit来实现这一功能的;
2、当sql语句中含有in、like、exists时索引不起作用,开始变为全表查询;
3、语句中的in和exists这样的条件能用子查询就用子查询,这样性能会提升不少,当然用关联查询更好;
4、当遇到union这样的联合查询时,要想提高性能,可以采用将每一个子查询单独开一个线程的方式来替代实现;
5、有时候将一个sql语句分拆成几个小sql,并建临时表,分步查询会对性能提升有很大帮助,最近这个项目在sql没有拆分之前耗时大于270秒,将其拆分几个子语句分步查询,并建立临时表后,耗时降到25秒左右;
6、建索引不是越多越好,但是到底看所建的索引有无用处,我们可以同explain sql语句来查看,当某字段建了索引后它的查询类型还是ALL,说明该索引无效。
2、当sql语句中含有in、like、exists时索引不起作用,开始变为全表查询;
3、语句中的in和exists这样的条件能用子查询就用子查询,这样性能会提升不少,当然用关联查询更好;
4、当遇到union这样的联合查询时,要想提高性能,可以采用将每一个子查询单独开一个线程的方式来替代实现;
5、有时候将一个sql语句分拆成几个小sql,并建临时表,分步查询会对性能提升有很大帮助,最近这个项目在sql没有拆分之前耗时大于270秒,将其拆分几个子语句分步查询,并建立临时表后,耗时降到25秒左右;
6、建索引不是越多越好,但是到底看所建的索引有无用处,我们可以同explain sql语句来查看,当某字段建了索引后它的查询类型还是ALL,说明该索引无效。
相关文章推荐
- 修改mysql 提示符
- zabbix 的报错sock报错
- 初学MySQL
- mysql 配置环境变量的方法及作用
- mysql性能优化学习笔记(6)数据库配置优化&硬件优化
- mysql性能优化学习笔记(5)数据库结构优化
- mysql性能优化学习笔记(4)索引的优化
- mysql性能优化学习笔记(3)常见sql语句优化
- MySQL命令大全
- 一个高性能的MySQL proxy(kingshard)的性能测试报告
- mysql数据类型
- MySQL 入门
- [实战]MVC5+EF6+MySql企业网盘实战(16)——逻辑重构3
- mysql Error 1044 错误解决
- Mysql日志详解
- 利用JDBC连接MySQL并使用MySQL
- MySQL 触发器简单实例
- MySQL日期数据类型、MySQL时间类型使用总结
- Mysql 5.6安装成功后,找不到Mysql服务解决方案
- MySql数据库中的SQL操作大全(精简版)