2011-08-01 50 views
3

我有一個查詢,每分鐘運行一次,在多個表上(連接)。使用約18個月後,最大的餐桌有3100萬行。 通常情況下,查詢速度很快(< 1秒),除非我們必須及時返回幾個月或更長時間(按日期時間字段降序排列,按組排名前1),則最多可能需要20秒。分區是否會降低查詢性能?

我已經開始尋找分區。現在我讀了兩次說,分區並不會增加查詢性能,反而會降低性能,但它是同一人的兩倍(herehere)。它是否正確?

回答

2

沒有分區不一定會降低查詢性能。

您所描述的內容聽起來像是由parameter sniffing引起的。你的索引和統計數據是否最新?

更新(回覆評論):確保定期執行定期索引維護任務。

+0

由於某些原因,索引碎片再次高達近100%。在開始查詢測試之前,我已經重建了所有索引。首先會解決這個問題。 – Stijn

+0

找到了解決性能低下的問題(保留每臺機器上最後一個可用日期時間的值,並在where子句中使用它)。我會接受你的回答,因爲它實際上回答了原來的問題。 – Stijn

相關問題