关于SQL执行效率的优化

原创 2012年03月27日 10:08:56

1.首先要确定DB设计者无误,如果DB根据业务设计比较烂,优化是最大的难度。如一张表总是和自己连接才能取出正确数据。。。

2.注意SQL基本书写规范:少用IN、NOTIN、LIKE、<>、!=等耗时的写法;SELECT中不要用‘*’;where替换having;表用别名,抽取字段前加上表等等。。。

3.了解数据库内部机制,如Oracle从右到左处理From子句中的表名,所以在From子句中包含多个表的情况下,将记录最少的表放在最后;Oracle从下到上处理Where子句中多个查询条件,所以表连接语句应写在其他Where条件前,可以过滤掉最大数量记录的条件必须写在Where子句的末尾;Order By语句中的非索引列会降低性能,可以通过添加索引的方式处理。严格控制在Order By语句中使用表达式。。。

4.索引的使用:Where子句中出现IS NULL或者IS NOT NULL时,Oracle会停止使用索引而执行全表扫描。可以考虑在设计表时,对索引列设置为NOT NULL。这样就可以用其他操作来取代判断NULL的操作。当通配符“%”或者“_”作为查询字符串的第一个字符时,索引不会被使用。索引应该用在可以唯一确定数据的列上,如主键,如果一个索引可以确定一般数据那就没作用,如男女区别。索引也不是加的越多越好。不同类型的列进行比较索引会失效,where子句对索引列计算也会同样导致全表扫描数据从而索引失效。


相关文章推荐

优化sql语句提高oracle执行效率 .

(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):   Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)...

MySQL 5.7 优化SQL提升100倍执行效率的深度思考

系统环境:微软云Linux DS12系列、Centos6.5 、MySQL 5.7.10、生产环境1、慢sql语句大概需要13秒原来的sql语句要13秒,sql如下: SELECT   (S...
  • mchdba
  • mchdba
  • 2016年11月26日 20:46
  • 4662

mysql 的优化(如何查询mysql中执行效率低的sql语句)

配置my.cnf/my.ini,增加 --log-slow-queries 配置,记录所有的slow query,然后挨个优化 本文来源于 WEB开发网 select @a=DRClass1,...

MySql批量插入优化Sql执行效率

itemcontractprice 数量1万左右,每条itemcontractprice 插入5条日志。 updateInsertSql....

sql执行效率提高

  • 2013年10月03日 21:27
  • 46KB
  • 下载

SQL书写技巧-提高执行效率

  • 2011年02月27日 08:55
  • 194KB
  • 下载

MySQL查看SQL语句执行效率

Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写...

sql执行效率

  • 2012年11月26日 23:20
  • 36KB
  • 下载

sql执行效率

  • 2012年08月09日 14:46
  • 20KB
  • 下载

Explain命令查看MySQL的SQL语句执行效率

Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于SQL执行效率的优化
举报原因:
原因补充:

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