我有一个与 MS SQL 集成的 Oracle 服务器作为链接服务器。目前我正在研究查询优化。我发现查询如下:
SELECT colName1, colName2, ..
FROM ORACLE.TBL_TBLENAME
WHERE something = @something
工作非常缓慢。另一方面,同样的查询写成:
EXECUTE ('SELECT colName1, colName2, ..
FROM TBL_TBLENAME
WHERE something :something',@something) at ORACLE
工作得更快。
我关心的是执行计划。对于第一个查询,估计子树成本是 0.16,第二个是 3.36。第二个查询执行“远程扫描”。我不知道这是好还是不好。
该查询应该经常运行(1 分钟内大约有 20 个查询)。