我有一个非常大的 MySQL 表,它太大而无法频繁查询(500m+ 行)。我所做的是将我需要的结果缓存在另一个名为“最近”的表中。
在“最近”表中,架构看起来像这样
用户身份
PAGE_ID
显示顺序
我在 USER_ID 和 DISPLAY_ORDER 上放置了一个唯一索引,因为我只想在此表中为每个用户存储最多 64 条记录。因此,DISPLAY_ORDER 只是一个最多可达 64 的 int。使用 REPLACE INTO 更新行。
这是一个好方法吗?或者,一旦用户点击超过 64 行,我应该定期从表中删除数据。我需要考虑性能。在接下来的几个月里,5 亿的主表将增长到 10 亿,每个用户有 64 行,这意味着“最近”表也将非常大......
谢谢你的帮助。