我应该在哪里统计MySQL中文章的浏览量

我应该在哪里统计MySQL中文章的浏览量,mysql,database,database-design,Mysql,Database,Database Design,我的服务器有严重的数据库问题。服务器接收到的连接太多,因此,由于表是MyISAM,每当我更新列时,它都会被阻止。其中一列是view\u count。每次访问一篇文章时,该文章的列将递增1。所以你可以想象,如果一大群人同时访问了这个网站,那么最后一个人的页面需要一段时间才能加载。我的问题是: 将视图的计数拆分到它们自己的表中是否明智?或者我应该转换为InnoDB吗?我将创建一个新表,其中包含主键、现有表的外键和时间戳。我不会存储view_计数,因为您可能会锁定表进行更新,或者在使上一条记录的计数递

我的服务器有严重的数据库问题。服务器接收到的连接太多,因此,由于表是MyISAM,每当我更新列时,它都会被阻止。其中一列是
view\u count
。每次访问一篇文章时,该文章的列将递增1。所以你可以想象,如果一大群人同时访问了这个网站,那么最后一个人的页面需要一段时间才能加载。我的问题是:


将视图的计数拆分到它们自己的表中是否明智?或者我应该转换为InnoDB吗?

我将创建一个新表,其中包含主键、现有表的外键和时间戳。我不会存储view_计数,因为您可能会锁定表进行更新,或者在使上一条记录的计数递增时出现问题。当你想计算点击次数时,只需做一个总数。这样,您就有了高事务吞吐量。

InnoDB是一个支持引用完整性的数据库,与MyISAM不同。这个新表的表结构是MyISAM吗?好的,所以每当我在这个(MyISAM?)表上调用insert时,它都不会锁定它,因为它只是将它附加到列表的底部,对吗?它的大小不会变得特别大吗?是的,它会变得“大”,但在交易上它很快。另一种方法是每次用户查看文章时锁定一个表。我不知道你期望的流量有多大,但根据外键提供的索引,它应该足够快,可以查找给定文章的浏览者数量达到数百万。要将其放到上下文中,一百万个mysql Int(32位)需要3mb的存储空间。两个键、一个日期和几百万行不会占用太多空间。