SQL代码性能优化.docVIP

  • 4
  • 0
  • 约6.93千字
  • 约 11页
  • 2017-02-09 发布于重庆
  • 举报
SQL代码性能优化

SQL代码性能优化 在传统的数据库优化理论中存在着一些有争议的问题,例如: 传统上认为,数据库通过使用索引就一定可以更快地遍历表,而且在实际的数据库系统中的优化器都是根据定义的索引来提高性能。 但是,如果在SQL语句的where子句中写的SQL代码不合理,就会造成优化器删去索引而使用全表扫描,一般这种SQL语句就是所谓的劣质SQL语句。在编写SQL语句时我们应清楚优化器根据何种原则来删除索引,这有助于写出高性能的SQL语句。 研究SQL调整的目标就是要确定执行计划对于语句是最优的。最直接的是采用set timing on命令来检验SQL执行的速度,并且计算查询需要花费的时间。 除了分析与试验相结合的考证这些有争议的数据库优化理论与方法外,在实际的运用中我进一步总结出了一些新的优化技巧和方法,总结如下: 一、避免索引失效 如果对where子句的写法不注意,即使某些列存在索引,但是由于编写了劣质的SQL,系统在运行该SQL语句时也不能使用该索引,而同样使用全表扫描,这就造成了响应速度的极大降低。 1. IS NULL 与 IS NOT NULL 不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有多列这样的情况下,只要这些列中有一列含有null,该列就会从索引中排除。也就是说如果某列存在空值,即使对该列建索引也不会提高性能。 任何在where子句中使用is

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档