SQL语句优化常见方法
SQL查询速度慢的原因常见如下几种:
ps:如果还有其它日常优化方式的,欢迎留言,我会同步更新上来
外部因素:
1、I/O吞吐量小,形成了瓶颈效应。
2、内存不足
3、网络速度慢
综上:升级硬件
内部因素:
5:没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
6:查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)
8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。
9、返回了不必要的行和列
10、基本的select不能用*号,指定字段值
11、组合索引字段中不能存在null值,这样会造成索引失效
12、字段中最好不要给null值,因为null值同样会占用空间
13、如果使用了索引,连表查询中,基表数据量尽可能的小,能减少磁盘io,提高效率,因为使用了索引表是存储在磁盘上的,查询会有io操作
14、在where语句后面,尽量不要使用in、or、!=等语句,会造成索引失效,因为索引是树结构,给定区间或者是or、!=的话无法判断按照节点顺序往下走,所以会索引失效
其中in比较特殊:in在通常是走索引的,当in后面的数据在数据表中超过30%(匹配到的数据数占总行数的30%以上)的匹配时,会走全表扫描,即不走索引,因此in走不走索引和后面的数据有关系。
15、在一次的select语句查询中索引只会生效一次,比如一个字段构建了索引,你如果在where语句中使用了一次,那么order by后面再用这个字段,就不会生效
16、不能在索引列上进行计算,不然会造成索引失效,比如 where num +1 = 10;
17、用聚合函数比如max,count的字段适合构建索引,能提高查询效率
18、分页limit优化,查询的数据不是说做了分页就快了,起始页跟查询速度是成正比的,起始页越大,查询速度越慢。解决办法之一:可以对主键进行分页,拿到主键值后,反过头再进行数据查询
推荐文章:sql优化
SQL语句优化常见方法相关推荐
- 【腾讯面试题】SQL语句优化方法有哪些?
SQL语句优化 性能不理想的系统中,除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化. 为了获得稳定的执行性能,SQL语句越简单越好.对复杂 ...
- 优化数据库的方法及SQL语句优化的原则
优化数据库的方法: 1.关键字段建立索引. 2.使用存储过程,它使SQL变得更加灵活和高效. 3.备份数据库和清除垃圾数据. 4.SQL语句语法的优化.(可以用Sybase的SQL Expert,可惜 ...
- mysql优化的几种方法_详解mysql数据库不同类型sql语句优化方法
概述 分享一下之前笔记记录的一些不同类型sql语句优化方法,针对mysql. 主要分成优化INSERT语句.优化ORDER BY语句.优化GROUP BY 语句.优化嵌套查询.优化OR语句这几个方面, ...
- mysql sql优化入门_Mysql入门SQL 语句优化方法30例
作者:VEPHP 时间 2017-09-27 <Mysql入门SQL 语句优化方法30例>要点: 本文介绍了Mysql入门SQL 语句优化方法30例,希望对您有用.如果有疑问,可以联系 ...
- sql语句优化的13中方法
1,什么是"执行计划"? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的 ...
- SQL语句优化技术分析
SQL语句优化技术分析 操作符优化 IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格. 但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用 ...
- mysql常用sql语句优化
转载自:http://www.cnblogs.com/gomysql/p/3632209.html 在数据库日常维护中,最常做的事情就是SQL语句优化,因为这个才是影响性能的最主要因素.当然还有其他方 ...
- SQL SERVER 的SQL语句优化方式小结
SQL SERVER 的SQL语句优化方式小结 详细出处参考:http://www.jb51.net/article/19547.htm 1.SQL SERVER 2005的性能工具中有SQL Ser ...
- php面试专题---MySQL常用SQL语句优化
php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...
- sql语句优化之SQL Server
MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成 ...
最新文章
- Python 赋值运算符
- php中年月日用什么参数,PHP中date()日期函数参数整理
- java 集合存储空字符窜_java中字符串对象和集合的判空
- 勤哲excel服务器虚拟化,虚拟仓库
- php多维数组打印出最长的数组,将php中的多维数组打印到html表中
- sai u 2016
- 阿里大规模业务混部下的全链路资源隔离技术演进
- gen already exists but is not a source folder
- linux下压缩命令gzip使用
- c++STL容器的Set和multiset
- 解决centos KDE命令提示符和文字不紧贴的问题
- pwn环境搭建_pwndbg、pwntools环境搭建(Unix系统)
- 搜索 —— 启发式搜索 —— 爬山法
- Webform(分页、组合查询)
- 【bzoj3456】城市规划(多项式求逆+dp)
- 指针式万用表测量电容
- IDC中国政府行业IT市场2013年10大预测:新型城镇化和第三平台技术推进政府信息化建设
- TestCenter测试管理工具环境配置(C)
- 看漫画学焊接!5分钟教你电烙铁的焊接方法
- Ice飞冰初始化《二》