2010-10-12 61 views
2

我做了一個Windows應用程序,我需要添加一個「排序」選定的列。網格有4列和很多記錄(當然是分頁)。數據庫排序SQL Server

的問題是:

我應該考慮增加一個索引需要在網格排序每一列?

感謝進步。

問候

回答

3

是的 - 考慮添加索引。

要確保您出於性能原因所做的事真正有幫助的唯一方法就是測試它們。但是,如果表中有很多數據,並且人們可能會在所有這些列上使用排序,那麼我會添加索引。

+0

不,對於大表索引不會改進排序。全面掃描比索引掃描+全面掃描更好。 – iddqd 2010-10-12 22:09:45

+1

@iddqd - 索引確實改善了排序。索引是預先排序的,因此避免了按需排序整個表的需要。 – 2010-10-12 22:14:09

+0

@Martin Smith INDEX對於大型表格(OLTP數據庫)沒有用處,如果你有很多DML查詢則維護成本非常高。如果INDEX超過某個大小限制,則隨機讀取將殺死每臺服務器。你可以嘗試http://www.codeproject.com/kb/aspnet/PagingLarge.aspx,但我在某個時候100%確定,分頁時間將增長到非常大的值。 – iddqd 2010-10-13 06:52:36

1

選擇的索引取決於很多因素,包括插入/更新/刪除查詢的頻率與選擇查詢的頻率。索引可以幫助ORDER BY,另外四個指數對於業績來說可能不會太糟糕,但它確實取決於你想要完成的事情。