Microsoft SQL Server 2008 インスタンスと Oracle 10g データベースを同じリモート サーバーに並べてインストールし、それぞれにまったく同じデータをロードしています。
約 10,000 件のレコードを返す簡単なクエリの時間を計測するプログラムを作成しました (SELECT * FROM TABLE WHERE X=X)。このテストでわかったことは、Oracle が MSSQL よりも 4 倍から 12 倍遅いことです。ODP.NET4、ODP.NET2を使用して、VPNを介してリモートでLAN接続でテストし、32ビットオペレーティングシステムに適切な32ビットバージョンがインストールされていることを確認しました.64ビットでも同じです。
Oracle は常に SQL Server インスタンスより何倍も遅いという点で、私の結果は常に同じです。
また、SQL Developer 内で同じクエリを試してみましたが、このツールは同じレコードセットをはるかに高速に取得します。ツールにすべてのレコードを強制的に取得させると、SQL Server よりも約 20% 遅くなりますが、少なくとも私のシナリオでは許容範囲内です。
どんな助けでも大歓迎です。同様の質問がいくつかあることは知っていますが、これらの回答は問題の解決には役立ちませんでした。
ありがとう
- データベース サーバーから: 3 秒 (Oracle) 対 0.6 秒 (SQL Server)
- LAN のどこかから: 22 秒 (Oracle) と 4 秒 (SQL Server)
- リモート マシンから VPN 経由: 54 秒 (Oracle) vs 21 秒 (SQL Developer) vs 13 秒 (SQL Server)
追加の質問: これは、ODP.NET + SQL Server 準拠のアプリケーションで発生したパフォーマンス ヒットですか? それとも、何か問題があると想定するのは正しいですか?