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).

SQL查询优化

  • 2014年03月21日 16:00
  • 41KB
  • 下载

SQL查询优化

  • 2015年10月14日 11:11
  • 2.41MB
  • 下载

SQL查询性能优化 之 LEFT JOIN 替换 NOT IN

今天工作的时候遇到一个需求,

informix数据库sql查询优化

  • 2010年08月25日 17:47
  • 1.38MB
  • 下载

MS SQL Server数据库查询优化及分页算法

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页。以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]...

SQL Server 2008查询性能优化(4)

  • 2011年03月08日 15:34
  • 13.9MB
  • 下载

优化sql查询速度

  • 2012年07月31日 15:09
  • 17KB
  • 下载

SQL Server多表查询优化方案总结

SQL Server多表查询的优化方案是本文我们主要要介绍的内容,本文我们给出了优化方案和具体的优化实例,接下来就让我们一起来了解一下这部分内容。 1.执行路径 ORACLE的这个功能大大地提高了...

SQL查询语句的性能优化

  • 2013年11月29日 12:59
  • 165KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql查询优化
举报原因:
原因补充:

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