数 据 库 查 询 优 化
随着数据库技术的发展 ,其应用越来越广泛,已逐渐成为现代
计算机信息系统和计算机应用系统的基础和核心。随着计算机应用技
术的不断普及和发展,数据库系统也正越来越多地走进人们的日常生
活。数据库最基本的任务是存储、管理数据,而终端用户唯一能看到
的数据库特性就是其性能:数据库以何速度处理某一指定查询的结果,
并且将结果返回到用户所用的工具和应用程序。
一 查询及其存在的问题
从大多数系统的应用实例来看,查询操作在各种数据库操作中所
占据的比重最大,如查阅新闻、查看文件、查询统计信息等。在要求
查询结果正确无误的同时,人们越来越关心查询的效率问题。查询操
作的效率是影响一个应用系统响应时间的关键因素。但令人不满意的
是:某些查询耗时长,响应速度慢。查询速度慢的原因很多,常见如
下几种:1、没有索引或者没有用到索引。2、查询语句不好,查询不
能优化。3、进行全表扫描,返回了不必要的行和列。4、要查询的数
据表过大或查询出的数据量过大。5、处理器速度跟不上,内存容量
不足,I/O 吞吐量小,形成瓶颈效应。6、数据库系统设计存在缺陷。
而随着一个应用系统中数据的动态增长,数据量变大,积累到一定的
程度,如一个银行的账户数据库表信息积累到上百万甚至上千万条记
录,全表扫描一次往往需要数十分钟,甚至数小时。数据库查询效率
就会有所降低,系统的响应速度也随之减慢。因此很有必要通过对影
响查询效率的因素加以改进或优化来实现系统的快速响应。这就是要
进行查询优化。
二 查询优化概述
查询计划是用户所提交的 SQL 语句的集合。DBMS 处理查询计
划的过程是这样的:在做完查询语句的词法、语法检查之后,将语句
提交给 DBMS 的查询优化器,优化器做完代数优化和存取路径的优
评论