WEB开发网
开发学院数据库DB2 SQL语句优化DB2应用程序性能 阅读

SQL语句优化DB2应用程序性能

 2008-08-27 16:26:24 来源:WEB开发网   
核心提示: 2、使用谓词来限制返回的行数在SQL编程语言中,按照评估过程中如何使用谓词、何时使用谓词,SQL语句优化DB2应用程序性能(2),我们将谓词划分为四大类(这四类谓词各自有不同的处理成本),按性能由高至低排列如下:范围界定谓词索引参数谓词数据参数谓词剩余谓词范围界定谓词是指那些限定索引扫描范

2、使用谓词来限制返回的行数

在SQL编程语言中,按照评估过程中如何使用谓词、何时使用谓词,我们将谓词划分为四大类(这四类谓词各自有不同的处理成本),按性能由高至低排列如下:

范围界定谓词

索引参数谓词

数据参数谓词

剩余谓词

范围界定谓词是指那些限定索引扫描范围的谓词,它们为索引搜索提供键值的起始值和/或终止值。索引参数谓词不用于界定搜索范围,但可以根据索引对它进行评估,因为谓词中的列是索引中的一部分。例如,假设表staff中的索引定义在name,dept和years三个字段上,执行下面的SELECT语句: 

SELECTname,job,salaryFROMstaff
WHEREname=’John’
dept=10
years>5

头两个谓词(name=’John’和dept=10)是范围界定谓词,而years>5是索引参数谓词,因为单凭上述信息我们无法确定键years的起始值是多少,起始值可以是6,8,10,甚至更大。如果years的谓词是years>=5,那么,它就是范围界定谓词了,因为索引搜索可以从5开始。

数据库管理器在评估这些谓词的时候将利用索引数据,而不是读取数据库中的基本表。这些范围界定谓词和索引参数谓词通过减少需要从表中读取的行的数目来减少存取的数据页的数目。索引参数谓词不影响被存取的索引页的数目。

数据参数谓词是那些不能被索引管理器评估,却能被数据管理服务(DMS)评估的谓词。通常,这种谓词需要从基本表中存取个别行,如果需要的话,数据管理服务还会提取需要的列来评估该谓词。

例如,假设索引定义在表project的projno列上,而不是deptno列上,执行下面的查询:

SELECTprojno,projname,repempFROMproject
WHEREdeptno=’D11’
ORDERBYprojno

上一页  1 2 3 4 5 6  下一页

Tags:SQL 语句 优化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接