RetainSameConnection を True に設定した ODBC 接続があります。
SELECT COUNT(*) FROM MyTable
クエリ ブラウザからの直接のような単純なクエリがハングするため、パッケージが完了した後も開いたままになっていると思います。
これはありそうですか?どうすれば自分の理論を証明/反証できますか? この接続を終了した後、SSIS でこの接続を強制的に閉じる方法はありますか?
RetainSameConnection を True に設定した ODBC 接続があります。
SELECT COUNT(*) FROM MyTable
クエリ ブラウザからの直接のような単純なクエリがハングするため、パッケージが完了した後も開いたままになっていると思います。
これはありそうですか?どうすれば自分の理論を証明/反証できますか? この接続を終了した後、SSIS でこの接続を強制的に閉じる方法はありますか?
SELECT TOP 1 * FROM MyTable
私は、即座に正常に返された a を実行して、自分の理論を反証しました。
奇妙なことに、問題はCOUNT(*)
実際には非常に遅いことでした.いくつかの句(レコードに影響を与えない)を追加すると、カウントが即座に返されました。句は、主キーが使用されるようにクエリ実行プランを変更しました。とにかくキーを使用しない理由がわからない...
-- Slooooow - 500K records
SELECT COUNT(*) FROM MyTable
-- Instant - 500K records
SELECT COUNT(*) FROM MyTable WHERE ColX > 0 AND ColY > 0