sql查询优化

原创 2017年06月18日 14:23:18

浅析sql查询优化

开门见山,结合笔者工作中处理过的问题,以及前人的经验,总结几点有关sql查询优化时的注意问题。不完善之处还望多多指正。

一、 避免全表扫描
全表扫描往往是由索引失效造成,那么什么情况下会造成索引失效?
where字句中对字段进行运算或函数操作,where多子句的先后顺序(mysql自左向右来执行where字句)。n!=,<>, in, not in, or ,like 的使用,null 值判断。
当处理这些问题的时候,能避免以上用法,尽量避免。当然不是说要舍近求远,具体问题具体分析,视查询效率而定。

二、用什么取什么
多余的数据一个也不取,避免使用select * ,合理运用limit。

三、合理利用存储空间
能使用数字类型就不用字符类型,(引擎在处理查询和连接时会逐个比较字符串中每一个字符,而数字型只需比较一次);char和varchar,通常情况用varchar(char存储效率不如varchar,对于短数据的查询优于varchar。存储很短的信息、存储固定长度、频繁改变的column时,这三种情况宜用char)

四、重复运用的数据采用临时表
临时表慎用,适当使用可以使某些例程更有效,如,当需要重复引用大型表或常用表中的某个数据集时。但是,对于单次事件,最好使用导出表

五、日志产生
查询时产生的日志也会降低效率。创建临时表时,若一次性插入大量数据,那么可以通过 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert。

以上主要从sql方面考虑,提高查询效率还可以通过 将数据、日志、索引放到不同的I/O设备上,增加读取速度。数据量(尺寸)越大,提高I/O越重要。对数据表进行分割,减少表的尺寸。升级硬件,提高网速等。

版权声明:本文为博主原创,转载请注明出处(http://blog.csdn.net/jdjh1024).

Oracle SQL查询优化方法1

系统优化中很重要的方面是SQL语句的优化,对于海量数据,优质的SQL能够有效的提高系统的可用性。 总结的有点罗嗦,列个简单的目录啦~ 目录   第一部分 知识准备       ...
  • truelove12358
  • truelove12358
  • 2017年04月18日 14:51
  • 386

SQL 大数据查询如何进行优化?sqlserver和oracle整理

六十多条大数据优化建议。涉及到sqlserver和oracle的SQL语句。
  • cao919
  • cao919
  • 2017年03月30日 11:58
  • 1380

多表查询SQL优化

多表连接LEFT JOIN  是一个例子:三张表,也就是多表联查,使用聚集函数SUM,用到了GROUP BY select C.channel_short_name,u.standby2,u.user...
  • chajinglong
  • chajinglong
  • 2017年08月07日 12:49
  • 199

多表查询SQL 语句优化

    数据多个表关联查询时,由于表之间的连接关系(内连接、外连接、交叉连接),导致数据库服务器常常从几万条甚至更多的数据记录中查找符合条件的记录,如果sql查询语句设计不好查询的复杂度就会直线上升,...
  • zhyuanshan
  • zhyuanshan
  • 2007年07月03日 01:29
  • 6461

Sql常用查询优化方法

对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引:  .尝试下面的技巧以避免优化器错选了表扫描: ·   使用ANALYZE TABLE tbl_na...
  • wt05001
  • wt05001
  • 2018年01月18日 10:57
  • 18

SQL Server的查询优化器详解

SQL Server的查询优化器在select查询执行的时候产生一个高效的查询执行计划。如果优化器不能选择最优的计划,那么就需要检查查询计划、统计信息、支持的索引等,而通过使用提示可以改变优化器选择查...
  • isoleo
  • isoleo
  • 2015年11月18日 17:47
  • 1352

SQL优化--查询优化技术分类

数据库调优的方式通常有如下几种: 1)人工调优。 主要依赖于人,效率低下;要求操作者完全理解常识所依赖的原理,还需要对应用、数据库管理系统、操作系统以及硬件有广泛而深刻的理解。 2)基于案例的调优。 ...
  • wuxian90
  • wuxian90
  • 2015年02月07日 12:50
  • 1249

PostgreSQL的查询优化

PostgreSQL的查询优化     数据库管理系统中的SQL执行,有多种多样,从SQL语句类型上讲,有DDL、DML、DQL、DCL。不同语句,被数据库引擎执行,其执行方式、复杂程度都不相同...
  • fly2nn
  • fly2nn
  • 2017年03月13日 18:53
  • 290

Explain详述(Sql查询优化器) -Mysql深化学习-持续更新

MySql 深化学习 1 explain用法 explain可以帮助我们分析select语句,找出select语句的瓶颈,从而可以针对性地去做优化,让MySQL查询优化器更好地工作。 MySQL查询优...
  • qq_31159377
  • qq_31159377
  • 2016年07月10日 23:58
  • 846

sql 查询中日期条件的优化

1.实例分析如下:select count(0) from info_terminal_user a where trunc(a.REG_DATE,dd) = sysdate;执行计划--------...
  • wenhuiqiao
  • wenhuiqiao
  • 2007年08月16日 13:21
  • 1946
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql查询优化
举报原因:
原因补充:

(最多只允许输入30个字)