基于sql语句的查询优化

基于sql语句的查询优化

ID:33018305

大小:59.36 KB

页数:4页

时间:2019-02-19

基于sql语句的查询优化_第1页
基于sql语句的查询优化_第2页
基于sql语句的查询优化_第3页
基于sql语句的查询优化_第4页
资源描述:

《基于sql语句的查询优化》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于SQL语句的查询优化姓名:张静导师:卫文学班级:10级4班研究方向:网络地理信息系统摘要:在数据库系统中,我们要对数据库中的数据进行各种操作.查询是数据库中最基本、最常用、最复杂的操作,查询操作的优劣直接影响数据库应用程序的性能.在关系数据库系统中,结构化查询语言(SQL)的查询效率一直是人们关注的焦点.本文首先分析了影响SQL性能的原因,然后研究了SQL的可行性,最后给出了儿种SQL优化方法.关键字:数据库,查询,结构化查询语言,索引Abstract:inthedatabasemanagementsystem(DBMS),wewilldosomeoperationsonthedat

2、awhichinthedatabase・Theinquiryisthemostbasic,commonlyused,themostcomplexoperationinthedatabase.Inquiryoperationfitandunfitqualitydirectinfluencedatabaseapplicationprocedureperformance・SQL(structuredquerylanguage)efficiencyisthekeyfactorintherelationaldatabase,thereasonthataffecttheperformanceofSQ

3、Lisanalyzed,thefeasibilityofSQLoptimizationisstudiedandoptimizationmethodsaregiveninthepaper.Keywords:database,query,structuredquerylanguage,index1引言当今世界以数据库技术为主体的计算机应用系统已得到广泛应用,了解和掌握结构化查询语言成为数据应用中必备的技能.SQL(StructuredQueryLanguage)是结构化查询语言的缩写,是用于对存放在计算机数据库屮的数据进行组织、管理和检索的一种工具,它是目前使用最广泛的数据库查询语言.SQL

4、语句的优化就是将性能低下的SQL语句转换成达到同样目的的性能更好的SQL语句.2影响SQL性能的原因一个好的查询计划往往可以使程序性能提高数十倍.查询计划是用户所提交的SQL语句的集合.DBMS处理查询计划的过程是这样的:在做完查询语句的词法、语法、语义检查Z后,将语句提交给DBMS的查询优化器,优化器做完代数优化和存取路径优化之后,由预编译模块对语句进行处理并生成查询规划,然后在合适的时间提交给系统处理执行,最后将执行结果返回给用户.彫响SQL性能不外乎以下四个重要原因:(1)在大记录集上进行高成本操作,如使用了引起排序的谓词等.(2)过多的I/O操作(包括物理T/0与逻辑I/O),最

5、典型的就是未建立恰当的索弓I,导致对查询表进行全表扫描.(1)处理了太多的无用记录,如:在多表连接时过滤条件位置不当而导致在屮间结果集中包含了太多的无用记录.(2)未充分利用数据库提供的功能,如查询的并行化处理等.3SQL优化的可行性访问数据库时,程序要频繁使用SQL语句対数库中的表进行查询操作,以获取需要的信息•一条复杂的查询语句,对相同查询条件的实现,可以有多种不同的表达方法,但不同的表达会使数据库的响应速度大相径庭.对SQL进行优化可从以下几个方面进行考虑:(1)SQL语句是对数据进行操作的重要途径,应用程序的执行最终要归结为SQL语句的执行,而SQL语句消耗了70%〜90%的数据

6、库资源,因此SQL语句的效率对数据库系统的性能起到了决定性的作用.(2)SQL语句独立于程序设计逻辑,对SQL语句进行优化不会影响程序逻辑,相对于程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;(3)SQL语句易学,难精通.SQL语句可以有不同的写法,不同的写法在性能上的差异可能很大.同时,SQL语句的性能往往同实际运行系统的数据库结构、记录数量等有关,不存在普遍适用的规律来提升性能.4SQL优化方法4.1合理使用索引索引查询是数据库川重要的记录查询方法,使用索引查询就是为了提高查询效率,但是索引的创建和使用必须与实际应用系统的查询需求相结合,要恰到好处,否则反而增加

7、了系统时间和空间的开支•因此必须注意索引的使用,其使用原则如下:⑴如果待排序的列有多个,可以在这些列上建立复合索引•不过建立复合素引时需要进行仔细的分析:正确选择复合索引的主列字段;是否几个字段都同时以AND方式出现在WHERE子句中,如杲是则可考虑建立复合索弓I,否则考虑单索引.(2)在条件表达式中经常用到的、不同值较多的列上建立索引,在不同值较少的列上不要建立索引.(3)在经常用作过滤器的字段上创建索引.(4)在经常进行连接,但

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

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

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