我有一個非常大的MySQL表,它太大而無法經常查詢(500m +行)。我所做的是在另一個名爲「recent」的表中緩存我需要的結果。使用唯一索引來限制MySQL中每列的行數
在 「近期」 表的架構看起來像這樣
USER_ID
PAGE_ID
DISPLAY_ORDER
我穿上USER_ID和DISPLAY_ORDER唯一索引,因爲我只是想本表中每個用戶最多可以存儲64條記錄。因此,DISPLAY_ORDER只是一個最多可達64的int。這些行使用REPLACE INTO進行更新。
這是一個好辦法?或者,我應該定期從用戶點擊64行以上的表中刪除數據。我需要考慮性能。在未來幾個月內,主桌面將達到5億,而在每個用戶的64行上,這意味着「近期」桌子的面積也會相當大......
感謝您的任何幫助。
您可以考慮[分區](http://dev.mysql.com/doc/en/partitioning.html)您的基礎表。 – eggyal