我有一個非常通用的數據庫問題。我在我的數據庫中創建了一個表,用於跟蹤整個網站中的點擊次數。我的表結構如下:數據庫設計問題由於量
- (PK) - ID,
- (FK) - PAGEID,
- (FK) - 的ContactID,
- 日期
這個問題我我認爲,如果用戶設置較大,並且有大量點擊數據,則此表中的行數在20-30萬個範圍內。是否有另外一種方式可以組織這些數據,以便更輕鬆地進行報告?
SELECT P.TITLE, COUNT(DISTINCT(C.ID))
FROM PAGES P
INNER JOIN CLICKS C ON C.PAGEID = P.PAGEID
WHERE C.DATE >= 5/1/2013 AND C.DATE < 6/1/2013 AND C.PAGEID = XYZ
你爲什麼不保持這種模式,並運行每日一次,它將在彙總結果到一個單獨的表彙總查詢?較小的聚合表應該更快地進行查詢。 – Suman
你有日期索引嗎? –
定期存檔cron作業(也可能是彙總?)數據。 – Kevin