.Netでoracleからclob列を読み取り、パフォーマンスが非常に悪く、ネットワークトラフィックが多いことを確認しようとしています。.NetでのOracleのclobフィールドのパフォーマンスが低下しています
私は同じ結果でデータにアクセスするためのdevArt + OCIの方法を試しました。データ・リーダーで1000行を取得し、各行のclob値を読み取るのに20秒ほどかかります。
wiresharkのトレースを調べると、リーダーの1つの行のclobフィールドを読み取ろうとするたびに、クライアントとサーバーの間に追加の複数のtcpパケットが送信されることがわかります。したがって、1000行の場合、これは1行だけを照会する場合よりも1000倍遅くなります。
同時に、SQL Developer(私はociの代わりにthin jdbcドライバを使用すると信じています)で同じクエリを実行すると、結果が即座に取得されます。それは各行のためにclobを照会しようとしない - それはそれらをすべて1つに行く!
しかし、私は.netのシンクライアントを見ません。どのように物事をスピードアップできますか?助けてください!
EDIT:私のフィールドタイプは実際にはCLOBとして保存されたXMLTYPEであり、真のクローブではありません。 getClobValを使用すると、1000行で50%〜10秒の結果が向上します。しかし、同時に、Sql Developerは10秒以内ではなく即座に結果を返します。
この問題を解決しましたか?ベンダーにサポートリクエストを記録しましたか? –