約 200 万行の DB があり、現在のページングを修正する必要があり、次のようにすることにしました。
SET @startRowIndex = ((@Page-1) * @PageSize) + 1;
SET ROWCOUNT @startRowIndex
SELECT @first_id = ProductID FROM LiveProducts (nolock) WHERE ManufacturerID=@ManufacturerID AND ModifiedOn >= @tStamp ORDER BY ProductID
SET ROWCOUNT @PageSize
SELECT * FROM LiveProducts (nolock) WHERE ManufacturerID=@ManufacturerID AND ProductID >= @first_id ORDER BY ProductID
私は DBA の近くにいないので、これをできるだけ速くしたいと思っています。このことにどのインデックスを設定する必要がありますか。私の読書と収集した基本的な理解から、ManufacturerID、ProductID、および ModifiedOn にクラスター化されていないインデックスを作成する必要があります。
しかし、それらはすべてIndex key column
s である必要がありますか、それとも 1 つだけが存在し、他は s である必要がありIncluded Columns
ますか?