数据库技术中sql查询优化技术探析

数据库技术中sql查询优化技术探析

ID:46718071

大小:63.50 KB

页数:5页

时间:2019-11-27

数据库技术中sql查询优化技术探析_第1页
数据库技术中sql查询优化技术探析_第2页
数据库技术中sql查询优化技术探析_第3页
数据库技术中sql查询优化技术探析_第4页
数据库技术中sql查询优化技术探析_第5页
资源描述:

《数据库技术中sql查询优化技术探析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据库技术中SQL查询优化技术探析【摘要】对SQL语句的特性和语句格式进行了介绍,并对影响数据库SQL查询语句效率因素和优化器优化策略进行了分析,从索引的使用、相关子查询、不兼容的数据类型以及临时表等方面,阐述了在使用SQL语句时,如何运用高质量查询语句的方法及手段,借以帮助学生快速掌握SQL语句的使用。【关键词】索引;查询;优化0前言科技发展的今天,人们越来越依赖于计算机化的业务数据,在许多情况下,没冇什么冇效的方法进行冇用的数据分析。而关系数据库能断开数据访问与基础数据之间的联系,用户使用SQL这样的高级语言,可以动态地访问数据,而无需了解数据是如何存放的。SQL,即结构化查询

2、语言(structuredQueryLanguage),是一种支持数据库的简洁而又功能强大的语言。SQL查询语句是数据库开发的一部分,是用户与数据库之间的联系纽带,用户对数据库的操作都是通过SQL语言来实现的。众所周知,数据库设计的重耍标准之一,就是要具有快速查询响应速度,查询速度的快慢直接影响着数据库的推广与应用。本文结合数据库理论,介绍查询优化技术在现实系统中的运用手段。1SQL的主要特性SQLselect语句是一种描述基于某种需要而建立的一组记录和记录存放格式的非过程方法。它具有自动优化查询的功能,可以大大地加快数据的检索。select语句有很多组成部分,但只冇两部分是必需的

3、,即from子句和select子句。from子句指定耍查询的表,select子句指定要查询的列。同时,SQL是一个面向集合的语言,每次能处理一个记录集。这种面向集合数据处理方法的优点在于为特殊目的创建自定义文件。1SQL的语句优化问题的提出及优化策略2.1SQL优化问题提出在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为冃前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优

4、质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就行,而是要写出高质量的SQL语句,提高系统的可用性。2.2SQL查询语句的优化策略在数据库的管理与应用中,关系为莫结构的基本单位,SQL语言支持关系运算,这些运算都是通过SQL语言的语法和语句来实现的。执行策略是执行查询所需耍的一系列步骤。数据库的反应速度经常体现在优化器的优化算法上。此外,优化器的优化策略还与所查询表的内容和其他一些与服务器有关的因素有关。因此对优化器來讲,最为重要的选择就是使用什么索引和采用何种表的连接手段。1SQL的语句的优化方法2.1避免全表扫描一般地,处理查询或执行selec

5、t语句时,要执行全表扫描,但有时在执行更新和删除操作时也可能发生全表扫描。增加索引会加快数据访问的速度。建立合适的索引还需要对数据「分了解,通过实践来了解那些索引运行得最有效。3・2合理使用索引索引查询是数据库中重要的记录查询方法,使用索引的根本目的就是为了提高查询效率,但是索引的创建和使用必须与实际应用系统的查询需求相结合,要恰到好处。因此必须注意索引的使用:(1)null与notnull不能用null作索引,任何包含null值的列都将不会被包含在索引中。(2)在经常用作过滤器的字段上创建索引;(3)在大批量记录的录入及删除时应删掉索引。(4)对于冇联接的列,即使最后的联接值为静

6、态值,优化器也是不会使用索引的。3.3避免相关子查询若子查询中引用外层查询的值,就构成相关子查询。执行时就不能象无关子查询那样,先单独处理子查询,再处理外层查询,而需要外层查询和子查询交叉进行。例如一个列的标签同时在主查询和where子句屮的查询中出现,那么很可能当主查询中的列值改变之后,子查询必须重新查询一次。查询嵌套层次越多,效率越低,因此应当尽量避免子查询。3.4避免使用不兼容的数据类型查询的问题之一是在where子句中对有不同类型的列的比较企图。例如float和int;char和varchar是不兼容的。因此要求where子句中表达式的数据类型是兼容的,数据类型的不兼容可能

7、使优化器无法执行一些本来可以进行的优化操作。3.5使用临时表加速查询对于数据量大而变化相对小的数据库表,把表的一个子集进行排序并创建临时表,有时能加速查询,而口能避免多重排序操作,提高查询效率,在其他方面还能简化优化器的工作。但是,临时表创建后不会反映主表的变化,如果主表记录有修改,应及时地重建临时表,以保证数据的一致性,在主表中数据频繁修改的情况下,不宜釆用这种方法。4.结语SQL查询语句的优化质量对整个系统效率有相当影响。查询语句的好坏往往会直接影响到实际运行系统

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。