【发布时间】:2010-06-17 06:41:04
【问题描述】:
参考这篇帖子:How to implement tag counting
我已经完全实现了建议的 3 表标记系统。为了计算每个标签的文章数,我在标签定义表中使用另一个名为 tagArticleCount 的列。 (其他列有tagId、tagText、tagUrl、tagArticleCount)。
如果我实现了此表的实时编辑,那么每当用户向文章添加另一个标签或删除现有标签时,都会更新 tag_definition_table 以更新添加/删除标签的计数器。每次进行任何修改时,这将花费额外的查询。 (同时从tagLinkTable中删除tag和article的相关链接条目)。
对此的替代方法是不允许对计数器进行任何实时编辑,而是使用 CRON 在指定时间段后更新每个标签的计数器。 我要讨论的问题来了。这可以看作是在数据库中缓存文章数。当探索标签并且该标签的文章计数器不是最新的时,您能帮我找到一种方法在列表中显示文章吗?例如: 1.计数器显示50篇文章,但实际上标签链接表中有55个条目(链接标签和文章)。 2.计数器显示50篇文章,但标签链接表中实际上有45个extries。
如何处理示例中给出的这 2 个场景。我将使用 APC 来保存这些计数器的缓存。在您的解决方案中也要考虑它。还讨论实时/ CRONNED 计数器更新中的性能。
【问题讨论】:
标签: php mysql performance tagging