1

このクエリは機能します:

SELECT [ID]
  ,[PROJECT_ID]
  ,[NAME]
  ,[LOCATION]
  ,[COMMENT]
FROM table1
WHERE PROJECT_ID = 4479

しかし、これはしません:

SELECT [ID]
  ,[PROJECT_ID]
  ,[NAME]
  ,[LOCATION]
  ,[COMMENT]
FROM table1
WHERE PROJECT_ID = 3560

それは無期限に回転し、回転します。唯一の違いは、使用される値です。

「PROJECT_ID」は外部キーであり、それを唯一の列として定義されたインデックスがあります (通常は FK で)。

並行して、このテーブルの FK インデックスの断片化が高くなっています。

これらは関連しているのでしょうか。つまり、インデックスを再構築すれば、問題は修正されるのでしょうか?

本番システムであるため、今は再構築できません。私の理解では、今夜遅くなど、ロックを取得できる場合にのみインデックスを再構築できます。

「ユーザーが切断された場合でも、データベース内のすべてのテーブルのすべてのインデックスを強制的に再構築する」方法に関するガイダンスも高く評価されています。

ありがとう - ジェシー

4

1 に答える 1

2

それらのクエリはストアド プロシージャにカプセル化されていますか? もしそうなら、パラメータ スニッフィングに見舞われている可能性があります。

統計を確認することもできます。それらが非常に古くなっている場合、特定のパラメーターでは非常に貧弱な実行計画が得られ、他のパラメーターでは得られない可能性があります。

于 2012-07-18T19:53:29.427 に答える