我有一个数据库,将修改记录日志存入表中。这个修改表包含指向其他表的外键(修改表只包含对对象所做的引用)。
此修改表中的对象可以分为不同的组。当用户访问服务时,他只会请求属于自己组的对象。
每周我将新增约2到10个组。
- 这个表非常经常被智能手机请求,并且将包含大约500,000 / 1,000,000条记录。
- 如果我将修改表拆分成多个表,那么就没有需要进行表连接以回答用户请求的表了。
如果我将这个单一的表改变成多个表,我猜它会加速响应时间。
但另一方面,每个修改表的“插入”都需要先知道目标表的名称(这意味着另一个请求)。为此,我计划在“组”表中添加一个varchar列,表示修改的目标表。
我的问题是一个设计模式/架构问题——我应该选择一个非常庞大的表,每个请求需要3个“where”,还是尝试使用许多轻量级表,而不需要“where”来操作?