请帮我检查sql,有什么问题吗?可以优化吗?执行需要很长时间,但并非总是如此。DB2 SQL优化建议
SELECT count(*)
FROM DB2INST3.VWQueue1_119
WHERE inbasketName is not null
AND userid1 is not null
AND nItemIndex is not null
AND string1 is not null
AND (F_BoundUser = ? OR F_BoundUser = ?)
AND (F_Locked < 2)
AND ((inbasketName='PSIQUEUE1Index') AND (inbasketName='PSIQUEUE1Index'))
得到快照为:汇编
的
执行次数= 12942数 = 1最坏的准备时间(ms)= 6最好准备时间(ms)= 6个删除内部行= 0内部 行插入= 0的行读取= 1399262666执行时间总计(sec.microsec)= 3600.704315总 用户CPU时间(sec.microsec)= 2538.101110总系统CPU时间 (sec.microsec)= 0.191321
爱那个模式/表命名约定 –
这个语句看起来很简单,没有太多的优化可以完成(F_Bounduser在那里两次?)。从你的表名判断,你正在从视图中选择......可能你的性能问题在那里。 @MitchWheat - 图中有一个VWQueue1_001到VWQueue1_99999? – Twelfth
这是一个物理表。 – Sun