在我們的(預訂/預訂類型)應用程序中,我們通過一個DBAudit
表處理日誌數據。越來越多的日誌數據
問題在於,由於該表中數據的增長,以此爲基礎生成的報告「大量」減慢。有什麼選擇(時間證明)?
難道這是有效的選擇:
- 手柄日誌通過多個表
- 自動刪除舊數據定期
- 舊數據遷移到其他檔案數據庫
如何做其他的應用程序與巨大的活動日誌保持這一點?
在我們的(預訂/預訂類型)應用程序中,我們通過一個DBAudit
表處理日誌數據。越來越多的日誌數據
問題在於,由於該表中數據的增長,以此爲基礎生成的報告「大量」減慢。有什麼選擇(時間證明)?
難道這是有效的選擇:
如何做其他的應用程序與巨大的活動日誌保持這一點?
您可以嘗試每隔一段時間預先計算數據中的重要指標,然後根據這些指標構建報告。
這將允許您將舊的日誌數據歸檔到數據倉庫中,而不會影響您的報告。
是的,所有的這些都是不錯的選擇,你應該嘗試實現所有這些:通過多個表
除此之外,您可以隨時嘗試爲報告表添加最常用列的索引,並/或嘗試儘可能優化查詢。如果這些表中已經有索引,請確保定期重新構建這些索引。
令人印象深刻的概念!謝謝親:) – tariq 2013-02-22 07:22:18
預先計算的指標應保持在其他一些表我猜? – tariq 2013-02-22 07:31:51
是在單獨的表中沒有對原始生產數據的外鍵。在後臺運行的Windows服務可以每晚或每週計算一次,無論哪種方式對您的情況最好。我爲客戶做了這件事,而且工作得很好。權衡是報告不是實時的(大部分時間是可以接受的)。 – 2013-02-22 09:53:40