示例表索引日期列:SQL服務器:在日誌表
CREATE TABLE Log (
logID int identity
logDate datetime
logText varchar(42)
)
LOGID已在索引中,因爲它是一個主鍵,但如果你要查詢這個表,你可能會想使用LOGDATE作爲一個約束。但是,logID和logDate將按照相同的順序,因爲logDate將始終設置爲GETDATE()。
在logDate上添加一個額外的非聚集索引是否有意義,同時考慮到對於日誌表,重要的是要進行快速寫入。
你如何實現這樣的事情?你是否將這兩個列都聲明爲主鍵或跳過PK並通過對logID的唯一檢查來創建索引? – SurroundedByFish 2009-10-06 13:29:28
1)將logID保留爲主鍵(這本身不是索引)。 2)在logID上刪除當前的聚集索引 3)在logDate上創建一個聚簇索引,logID 4)最終在logID上創建一個唯一的索引(如果你需要訪問logID) – Arthur 2009-10-06 13:58:28
當PK有時,我無法創建聚簇索引已經自動創建一個,我也不能在PK存在的時候刪除索引。但是,我確實通過在爲ID添加PK約束之前爲兩個coluns創建索引來實現它。 – SurroundedByFish 2009-10-06 14:12:14