gpt4 book ai didi

php - 在mysql中创建一个单独的统计计数器表?

转载 作者:行者123 更新时间:2023-11-29 14:43:45 25 4
gpt4 key购买 nike

我有一个帖子表格,如 ID、标题、内容等。我刚刚添加了一列作为计数器。这是一个简单的访问计数器,每次都会更新为 $i+1。在这种方法中,我在每次访问时更新表,就在读取该行之后(在单个 mysql session 中)。

将计数器分离为与 post 表连接并以 ID 作为外键的另一个表是一个好主意吗?在这种方法中,更新较轻的表速度更快,但每次我都需要读取两个表(显示帖子及其统计信息)。

最佳答案

所以,我的答案是这取决于您想要做什么。我将为您提供一些有关 MySQL 的幕后信息,以便您可以决定何时创建计数器表有意义,何时不创建计数器表。

MySQL 有不同的表引擎。创建新表时指定使用哪个引擎,比较常见的有 MyISAMInnodb 。 MyISAM 在执行选择方面非常出色且快速,而 Innodb 在执行插入方面非常快。两者之间还存在其他差异,但最好了解您选择的引擎很重要。

基于上述内容,如果您有一个经常被读取且包含大量行的表,则将该表保留为 MyISAM 并使用不断更新的 Innodb 创建一个单独的计数器表可能是有意义的。如果您正在实现缓存,这是该模型效果更好的另一个原因,因为每次更新计数器时您都不会清除表数据的缓存,因为您将在不同的表上更新计数器。

现在,有些人可能会认为您应该使用 Innodb,因为它有更多好处,但有一些复制策略可以让您两全其美。

我希望这能让您有一个大致的了解,以便您可以更深入地挖掘并找到答案。更多信息:http://www.mysqlperformanceblog.com/2007/07/01/implementing-efficient-counters-with-mysql/

关于php - 在mysql中创建一个单独的统计计数器表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7445506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com