1

我有一个将 RetainSameConnection 设置为 True 的 ODBC 连接。

我认为在我的包完成后它仍然保持打开状态,因为SELECT COUNT(*) FROM MyTable直接来自我的查询浏览器的简单查询会挂起。

这听起来可能吗?我如何证明/反驳我的理论?完成后,有没有办法在 SSIS 中强制关闭此连接?

4

1 回答 1

0

SELECT TOP 1 * FROM MyTable我通过做一个立即成功返回来反驳我的理论。

奇怪的是,问题COUNT(*)实际上真的很慢 - 当我添加一些子句(不影响任何记录)时,计数立即返回。这些子句更改了查询执行计划,以便使用主键。不知道为什么它无论如何都不会使用密钥...

-- Slooooow - 500K records
SELECT COUNT(*) FROM MyTable

-- Instant - 500K records
SELECT COUNT(*) FROM MyTable WHERE ColX > 0 AND ColY > 0
于 2013-01-22T14:15:07.947 回答