2010-05-24 122 views
4

我正在Sql Server 2005中工作。我有一個跟蹤用戶操作的事件日誌表,並且我想確保插入到表中的操作儘可能快。目前該表沒有任何索引。添加單個非聚集索引是否會減慢插入?或者它只是聚集索引,減慢插入?或者我應該只添加一個聚集索引而不用擔心它?非聚集索引減慢插入?

回答

6

由於SQL必須同時維護表和索引,所以索引(聚簇或非聚簇)將始終減慢插入速度。這種放緩是「絕對」的,你可能沒有注意到。我會添加任何索引來檢索您的數據。

+1

假設檢索比寫入速度更重要...假設您從UDP流中捕獲數據並且寫入速度下降意味着丟失數據包捕獲......但是您只需要查詢發明從ET的聯繫... – 2010-08-10 23:23:17

2

是的,在執行INSERT, UPDATE, DELETE操作時,任何索引都需要一點時間來保持最新。你擁有的指數越多,我們談論的時間就越多。但最終取決於什麼對你更重要 - 好的查詢性能(然後根據需要添加索引),或者良好的插入性能(然後儘可能少的索引)。

您經常執行哪種操作?

+0

我想知道如果兩個事情同時發生什麼事情。我有一個數據倉庫住宿類數據庫,我需要非常頻繁的插入,我也需要執行他們的報告查詢。 報表查詢需要一些索引才能正常運行,但這可能會同時減慢插入語句的速度。 即時通訊使用MySQL(MISAM)。 – 2014-08-27 06:41:50