文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 数据库优化之SQL语句优化
侵权投诉

数据库优化之SQL语句优化

数据库优化之SQL语句优化

数据库优化之SQL语句优化

数据库优化涉及到的方方面面有很多,本文只针对SQL语句的优化跟大家做一个简单的探讨。

大家都知道,访问数据表主要有两种方式:一是全表扫描;二是通过数据索引扫描。索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。因此,在进行SQL语句优化前,我们有必要对数据表建好必要的索引,而要建立恰到好处的索引,需要遵循如下原则:

ü 最频繁使用的、用以缩小查询范围的字段。如在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。

ü 最频繁使用的、需要排序的字段。如在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。

ü 在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。

ü 如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。

那么,在实际开发过程中,我们应该怎样去编写SQL语句,尽量避免全表扫描以提高查询速度呢?下面给出我在实践中遇到的以及在某些资料上学习到的一些经验:

1. 应尽量避免使用“select * ”进行查询,字段提取要按照“需多少、提多少”的原则。原因是:数据库在解析的过程中,会将 '*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间。

2. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。如:

select id from t where num is null.

解决方法: 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0.

3. Like语句是否会引起全表扫描取决于通配符的类型,如:name like %张 或 name like %张% ,会引起全表扫描,而name like 张% 不会。原因是:通配符%在字符串的开头使得索引无法使用。

4. 应尽量避免非操作符及函数引起的全表扫描,如:not、!=、<>、!<、!>、not exists、not in、not like等,另外还有函数,如:

substr(num,1,4)= 5400

优化处理:

num like 5400% .

5. 应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:

select id from t where num=10 or num=20.

解决办法:

select id from t where num=10.

union all

select id from t where num=20.

6. 用“>=”替代“>”,如:

select name from t where id>3.

优化处理:

select name from t where id >=4.

第1页

你可能喜欢

  • SQL查询语句大全
  • SQL数据库查询
  • Oracle优化
  • Oracle数据库性能优化实务
  • Oracle执行计划
  • SQL语句教程
  • 数据库优化

热门文档

相关文档

  • 数据库优化之sql语句优化 好学网 vhaoxue

    数据库优化之sql语句优化 好学网 vhaoxue_IT/计算机_专业资料。数据库优化之sql语句优化 好学网 vhaoxue.com网站打破了有此站以来就长的因错误而无法访问的记录,错...

  • 数据库优化之SQL语句性能调整原则

    数据库优化之SQL语句性能调整原则数据库优化之SQL语句性能调整原则隐藏>> 数据库优化之SQL语句性能调整原则 一、问题的提出 在应用系统开发初期,由于开发数据库数据比...

  • SQL Server数据库性能优化之SQL语句篇

    SQL Server 数据库性能优化之 SQL 语句篇 (转自重名鸟 bolg Java) 近期项目需要,做了一段时间的 SQL Server 性能优化,遇到了一些问题,也积累了一些经验, 现...

  • ORACLE数据库SQL语句编写优化总结

    ORACLE 数据库 SQL 语句编写优化总结 ORACLE...3 1、选用适合的ORACLE优化器......

  • 数据库系统中SQL语句的优化技术

    关键词:人工智能;自动优化;SQL 语句优化 一个数据库系统的生命周期可以分成:设计、开发和成品三个阶段。在设计阶段进行数 据库性能优化的成本最低,收益最大。在...

  • 【论文】SQL语句优化方法分析与探讨

    由于用户对数据库的要求越来越高,因此必须对数据库进行优化。系统优化的一个很重要的方面就是SQL语句本身的优化,文章从应用的角度论述了SQL语句优化的一些方法。...

  • 数据库性能优化之SQL语句优化

    数据库性能优化之SQL语句优化 隐藏>> 数据库性能优化乊 SQL 诧句优化一、问题的提出 在应用系统开发初期,由亍开发数据库数据比较少,对亍查询 SQL 诧句,复杂 视...

  • 基于分布式数据库的SQL语句性能优化

    基于分布式数据库的SQL语句性能优化_IT/计算机_专业资料。分布式数据库程序春秋 电脑知识与技术 基于分布式数据库的 !"# 语句性能优化李凤云 王守强 山东交通学院信息...

  • SQL语句优化

    E、 尽量不要指定锁类型和索引,SQL SERVER 允许我们自己指定语句使用的锁类型和索 引,但是一般情况下,SQL SERVER 优化器选择的锁类型和索引是在当前数据量和查询...

  • 如何优化sql语句

    如何优化sql语句_IT/计算机_专业资料。1. 首先要搞明白什么叫执行计划?执行计划是数据库根据 SQL 语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化...

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email