SQL Server Management Studio で単純な SQL クエリを実行しています (これは実際にアプリケーションでも実行しています)。これは興味深いものでした。誰かがそれの何が悪いのか説明できることを願っています。
データベース テーブルには 25 の列があり、5 つの列がインデックス付けされ、1 つの主キー列が存在します。1 つの列を除いて、残りのすべての列はvarchar
長さ <= 50 またはdatetime
またはの型int
です。その 1 つの例外は、列が型であることですvarchar(512)
(この列を と呼びましょうBigColumn
)
私のクエリはこれです:
Select PKColumn, column1, column2, column3, column4, column5
from database_table
where PKColumn = value
5 つ以下の列を選択すると、クエリの実行が速くなります (< 1 秒)。BigColumn
(もちろん PK と共に) を除く任意の 5 列を選択でき、結果は 1 秒未満で返されます。ただし、5 つ以上の列を選択すると、クエリの速度が大幅に低下します (結果が 6 秒戻ってきます)。また、選択するPKColumn
とBigColumn
結果が 6 秒で返ってきます。
問題が何であるかを知っている人はいますか?DBA に調査を依頼しましたが、このような問題に直面したことがあるかどうか、またどのように解決したかを知りたいです。
前もって感謝します。