我正在調查索引,並通讀了很多文章,希望得到一些專家的建議。作爲一個警告,索引字段對我來說是相當新的,即使在閱讀了這個主題後也有點混亂!SQL Server 2005 - updt_tmstmp字段索引
爲了簡化,我有一個包含guid(事務ID),事件ID和updt_tmstmp(有許多其他字段但對此問題不重要)的表。
我的PK是transaction_id和event_id,表格是按這些鍵排序的。由於transaction_id是一個GUID,所以updt_tmstmp字段非常隨機。隨着表格增長到600萬條記錄,查詢速度減慢。我的想法是在updt_tmstmp字段中添加一個索引。我們的提取經常在桌面上搜索,並查找過去24小時內有更新的transaction_id。查詢正在掃描整個表以查找已更新的記錄。平均1分鐘時間
詳情當前: 工作臺尺寸:620萬條記錄 指數:TRANSACTION_ID +事項標識(羣集)
詳細嘗試: 其他指數:updt_tmstmp(非唯一,非羣集)
當我做了這個更新,並運行查詢它改善了大約10%和解釋計劃表明我仍然表掃描索引。我預計性能會比這更好一點。我的updt_tmstmp不保證是唯一的(我責怪應用程序員這樣做:))。
我用來訪問它的查詢是一個標準的start_time - end_time。 updt_tmstmp> = @start_time和updt_tmstmp < @end_time
在此先感謝您,祝您有美好的一天!
克里斯