购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

15.记住(某些)谓词的顺序很重要

编写谓词时,要按表、按谓词类型从最受限到最不受限来编写。编写一个有多个谓词的SQL语句时,首先要写从结果集中筛选大多数数据的谓词作为第一个谓词。通过按从最受限到最不受限的顺序排列谓词,后面的谓词筛选的数据会更少。

默认地,DB2优化工具会根据某些谓词类型选择它想最先处理的谓词。不过,如果查询包含多个谓词,而且这些谓词都是同一类谓词,就会按照编写的顺序来执行这些谓词。正是因为这个原因,正确地排列谓词的顺序很重要,要把筛选最多数据的谓词放在谓词列表的最前面。

这不算是一个能显著改善性能的调优技巧,无法帮助查询从几小时优化到几分钟或者从几分钟优化到几秒,不过,对SQL语句调优时,每一个小小的改善都会有帮助。

DB2总是先应用索引谓词(而不论这些谓词的具体位置是什么)。接下来,不论按什么顺序编写,都会按以下顺序应用Stage 1不可索引谓词:

1.Equal谓词

2.Range谓词

3.In列表

4.Like谓词

最后再应用Stage 2谓词。 a2zAez+CNFhhxeTr0EqzsFpbgjAUPtlC/9L1WjHFtMVWQpOOQ+6eg/SGur2SGZ9+

点击中间区域
呼出菜单
上一章
目录
下一章
×