0

大きな行セットに対して呼び出される関数内にあるため、多くのクエリが実行されます。

クエリはSELECT @sql = NULL WHERE @sql = ''

これは私に0の物理的な読み取りを示していますが。

約17000の論理読み取りが表示されます。

説明はありますか?

4

1 に答える 1

1

次の質問と回答を見てください。

https://dba.stackexchange.com/questions/9302/why-so-many-logical-reads

それらはページの読み取りです。それは関連しています。

可能性:

  • 不適切または不十分な索引付け。フィルター処理されたフィールドのいずれかがインデックス化されていますか? インデックスの幅はどのくらいですか (以下を参照)。
  • ページ密度が低い。持っている可能性のあるインデックスのフィルファクターは何ですか? 値が低すぎる場合は、このために多くのページを引っ張っていることになります。
  • 非常に幅広いインデックス。インデックスはあるが、フィールドが多数ある場合、またはフィールドが非常に広い場合は、ページあたりの行数が少なくなります。

これらの条件の少なくとも 1 つに対してテーブルまたはクラスター化インデックスのスキャンが行われていると思いますが、実際に必要なデータの量に関係なく、テーブルが広いため、大量のデータが読み取られます。

于 2012-06-10T09:59:56.530 に答える