
数事费本与度用
数据库查询语句优化方法初探
科芳
(金肯职业技术学院江苏南京210009)
学术论坛
摘要:在实际的数据库应用系统开发过程中,需要对数据库透行“增、则、改、查“操作,其中查询操作更为突出,随着数据库数据量的不断增大,响应时间也会变得越来起慢,因此优化数据库查询语句,是数据库应用系统开发的重要工作。本文重点讨论端码阶投数据库查询语向优化方法的探讨。
关键词数据库查询优化
中图分类号:TP311.138
文献标识码:A
文章编号:1007-9416(2016)11-0247-02
Abstractin the practical development of databuse application system, operations on database such as insert, delete, update and query are required, among which query is of great importance. With increase of data volume of the database, the response time will become longer, Therefore, optimization of query sentence in datahase is an important work in the development of database application system. The paper is focused on discussion of optimization method of query sentence in database during the programming stage.
Key Words:databuse;queryroptimization
目前数据库应用系统的开发大部分是基于B/S模式(Bowser/ Server模式,即浏览器/服务器模式),在Web数据库的服务中,浏览器端的脚本程序通过对页面信息进行收集来形成SQL语句,再将 SQL语句传递给服务端进行处理从而获得查询结果,如图1所示。
数据库在网络环境下的应用,存在对数据的大量传输和查询,随着数据量的增多,其响应时间也会越来越长。如果能确保SQL语句能在最短时间执行,则用基于SQL组合成的系统将有着较高的运行效率,其执行效率对数据库系统的性能起决定性作用。本文主要针对SQL查询语句进行优化,通过具体的实例测试,使查询语句尽可能
的缩短查询的响应时间,提高服务器的效率。 1SQL查询语句的优化概述
数据库查询优化就是在查询执行引擎生成一个执行策略的过程中尽量使查询的总资源占用和总时间消耗极小化。其基本步骤包括语法分析与翻译、优化、执行,如图2所示。查询处理开始之前,系统必须将查询语句翻译成可使用的形式,翻译过程类似编译器语法分析的过程,语法分析器查询翻译时,对用户的查询进行语法检查,并将其翻译成关系代数表达式,在诸多查询执行计划中做出选择,优化器必须要利用各关系的统计信息,来对计划微出最佳估计。
请求页面
浏览器基本 SQL 查询语句
收移日期:2016-09-26
输出页面
Web服务器
例如在下例中有三种方法来解决同一个查询问题,需要我们在这三种方法中选出最优查询语句。
例如:对于教学数据库中的四个关系教师关系T(T#,TNAME,TITLE) 课程关系C(C#,CNAME,T#)
学生关系S(S#,SNAME,AGE,SEX) 选课关系SC(S#,C#SCORE)
间:检索学习课程号为C2课程的学生学号与姓名。第一种写法(连接查询):
SELECTS.S#. SNAME
ANDC#="C2"
#S'S=#S
第二种写法(嵌套查询):
SELECT WHERE
C#="C2")
S#,SNAME
S#
FROM S.SC WHERES.
S
FROM
IN(SELECT
S# FROM SC
第三种写法(使用存在量词的嵌套查询):
SELECT
FROMS
S#.SNAME
WHERE EXISTS(SELECT * FROM S#=S.S# AND C#="C2")
ODBC驱动程序
Web服务
图1web服务器访问数据库
语法分析与翻译
优化器
数据线计信息
图2关系数据库查询处理过程
执行
SQL指令
数据库
结果
结果输出
数据
WHERE
SC WHERE SC.
作者简介:要科芳(1978一),女,江苏无锡人,讲师,信息系统项日管理师(高级),工程硕士,主要从事数据库、iava程序设计、linux操作系统等
课程的教学工作,
94
万方数据