我正在使用Entity Framework 6.0在C#4.5/SQL2012中重新執行我的'票證應用程序'。之前的開發很匆忙,沒有任何額外的索引。該應用程序工作正常,但我希望V2應該是'它應該是'。在我走得更遠之前,我需要'墊在肩上'和單詞-yea .. ur doin'a'right-- ☺需要在選擇正確的SQL索引時提出建議
在其他應用程序中,我的主鍵始終是我的ID(int )列碰巧被聚集,因爲它似乎是SQL的默認值。之後,我剛剛添加了一個非聚集的專欄,'當我感覺到'時。
因此,在短期.. 表票一個ID,類型(事件或請求),狀態(開,上保持,解決,..),主題等。 表受讓人用一個ID和一個名稱 表junctionTicketAssignee與ticketId和assigneeId
票&受讓人關係是多對多。 大部分時間我只是通過它的ID獲取票或受讓人。 在票據概覽中,默認情況下票據以分配給當前受讓人的日期(desc)排序的狀態'開放'&'列出'列出。
爲此我現在有以下指標:
in 'ticket'
PK_ticket = PRIMARY KEY NON-CLUSTERED (ticket.id ASC)
IX_ticket = UNIQUE CLUSTERED (ticket.id ASC, ticket.dateCreate DESC, status ASC, type ASC)
IX_type = NON-UNIQUE NON-CLUSTERED (ticket.type)
IX_status = NON-UNIQUE NON-CLUSTERED (ticket.status)
in 'assignee'
PK_assignee = PRIMARY KEY CLUSTERED (assignee.id ASC)
in 'junctionTicketAssignee'
PK_junctionTicketAssignee = PRIMARY KEY CLUSTERED (ticketId ASC, assigneeId ASC)
FK_Assignee = PRIMARY KEY assignee.id -> FOREIGN KEY junctionTicketAssignee.assigneeId
FK_Ticket = PRIMARY KEY ticket.id -> FOREIGN KEY junctionTicketAssignee.ticketId
我已經與我的索引上的基本知識把這個在一起。我在正確的軌道上嗎?
你也可以看看'過濾的索引'。除此之外看起來像你在正確的軌道上。 – 2014-02-06 16:21:56