我已经为我的系统创建了一个基本的类似系统。点赞以以下格式存储
user_id, post_id, liked_at
我想在数据库中保留喜欢的总数(因为这将有助于在检索帖子列表时获得喜欢的总数)
post_id, total_likes
我目前有2个用于实现这些功能的选项。
最佳方式是什么?
个人可能,我宁愿不添加多余的信息。因此,我希望有一个观点。如果您在帖子表中添加“ total_like”并通过触发器使其保持更新(除其他触发器外),则不会阻止某人直接更新该字段并使数据未对齐。只有变慢了,我才会考虑触发的想法。希望对您有所帮助
由于您可能只在代码中的一个地方调用“ LIKE”代码,所以这是一个折腾:
STORED PROCEDURE Like(user_id, post_id)
TRIGGER
,然后插入一个位置,然后让它插入另一位置/更新VIEW
前两个“感觉”更好;我倾向于避免“副作用”;我忘记了他们之后,一年后他们咬了我。
我想我最喜欢的是子例程或存储的proc -它将所有喜欢LIKEing的动作都隔离在一个地方;它有助于干净地构建整个系统。