最佳指標我有以下結構的SQL Server表:選擇爲SQL Server表
CREATE TABLE [dbo].[Log](
[LogID] [bigint] IDENTITY(1,1) NOT NULL,
[A] [int] NOT NULL,
[B] [int] NOT NULL,
[C] [int] NOT NULL,
[D] [int] NOT NULL,
[E] [int] NOT NULL,
[Flag1] [bit] NOT NULL,
[Flag2] [bit] NOT NULL,
[Flag3] [bit] NOT NULL,
[Counter] [int] NOT NULL,
[Start] [datetime] NOT NULL,
[End] [datetime] NOT NULL)
表用於記錄活動。列A
-E
表示外鍵,Flag1
-Flag3
表示某些日誌狀態,而列Start
和End
表示標記活動的開始和結束。
平均而言,此表每30秒更新一次,並且更新會產生約50次插入/更新。
用戶可以通過UI進行查詢並過濾任何給定列上的數據以及列和列類型的所有組合。
什麼是優化數據檢索該表的最佳途徑:
- 創建將持有所有這些列
- 確定一些最常用的過濾器組合,例如一個「主」指數[
A,D,E
],[A, Start, End
]等,併爲它們創建索引 - 別的東西...
...並且它返回0推薦! :)))) – 2010-10-31 20:44:47
輝煌,這是要走的路:) – 2012-02-29 08:59:07
當你做這個測試時,表中有多少記錄是問題?有時索引掃描或表掃描是不好的,但對於一個小桌子來說,這沒什麼大不了的。我猜測引擎調優顧問並不認爲任何指標都會提高性能。 – peter 2012-11-01 01:58:26