【发布时间】:2011-01-17 06:59:28
【问题描述】:
我有一个存储过程,它运行一个带有巨大 where 子句的查询。 WHERE 子句本身非常简单。好像
SELECT a, b, c FROM table
WHERE (cond1) OR (cond2) OR (cond3) OR (cond4)
其中 cond1、cond2、cond3 和 cond4 都代表我们用户的一些要求。
我的问题是关于查询性能的:执行 4 个单独的查询(每个查询都有条件 cond{1..4} 之一),将结果插入临时表,然后最后从那个临时表?
我想知道的是,dbms 是否针对这种情况进行了优化。
FWIW,我正在使用 Syabse ASE - TDS 5.5。
谢谢 哈萨特
PS:请不要让我“做我自己的基准测试”。我当然会最终这样做。我真正在寻找指向此类优化内部的链接(如果有的话)。泰:)
【问题讨论】:
-
“你的onw 标记”甚至不是第一件事。查看执行计划,尝试了解正在发生的事情,并考虑是否有更好的方法来做到这一点。您已请求资源,因此:Use-The-Index-Luke.com
-
感谢所有答案:)