Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有一个论坛。一个每天大约有 100 名访问者的小型论坛。
最好的方法是通过创建一个列来存储一个主题的帖子数量,num_posts每次用户在该主题中发表帖子时,我都会将该数量增加一。当用户删除帖子时,另一种方式。或者只是进行查询?
num_posts
SELECT COUNT(*) FROM posts WHERE topic_id = thetopicid
我更喜欢第二种。但当然我猜它会影响性能。但是多少钱?这是不好的做法吗?
使用count(*). 拥有那个额外的列需要您自己维护它,即更新新的和已删除的帖子。你需要添加一些额外的东西来做这肯定需要额外的资源,而使用count(*)你正在使用已经内置到 DMBS 中的东西。
count(*)