5
私のパフォーマンスボトルネックである検索ストアドプロシージャがあります。C#から呼び出されたストアドプロシージャはSQL Managementスタジオよりも6倍長く実行されます
何が起こったのかを制御するために、すべてのパラメータのロギングとSPの実行時間を追加しました。
は、私はMicrosoft SQL Serverの管理Studioの実行時間からSPを呼び出すときは、1.3から1.6秒であることに、気づいたが、私はC#のからそれを呼び出すとき、それはとり6-8 secods(!!!)
Parameters | Time (ms)
"tb *"TreeType:259Parents:212fL:13;14fV:0;lcid:2057min:0max:10sort:-1 | 6406
"tb *"TreeType:259Parents:212fL:13;14fV:0;lcid:2057min:0max:10sort:-1 | 1346
SPはLINQで呼び出されます。ログイン設定は同じです。 SPは全文検索を使用します
何が原因ですか?
私はMicrosoft SQLキャッシュシステムについてはわかりません。管理スタジオからストアドプロシージャを実行してからC#を実行してください。結果は現在と異なるでしょうか? – Anton
@Anton:コールオーダーに依存しない同じ結果を得ることができます。実際には、このリストはid descでソートされているので、最新のリクエストが最後です。 – st78
LINQの代わりに 'SqlCommand'を使用しようとしましたか?追加で 'Prepare'メソッドを使うことができます。ローカルのSQL Serverを使用していますか?どのデータがストアドプロシージャを返しますか? – Oleg