[英]Which way is more efficient to store stats on mysql?
我为网站访问者提供了一个统计数据库,我需要找到哪种是存储数据的最有效方法:
我遇到了2个选择。
选项编号1:
+-----------------------------+
+ date | country +
+-----------------------------+
+ 2014-03-20 | US +
+ 2014-03-20 | US +
+ 2014-03-20 | NL +
+ 2014-03-21 | US +
+-----------------------------+
然后Select count(*) from table
获取访问者数据
选项编号2:
+-----------------------------+
+ date | country | visits+
+-----------------------------+
+ 2014-03-20 | US | 2 +
+ 2014-03-20 | NL | 1 +
+ 2014-03-21 | US | 1 +
+-----------------------------+
然后使用Select sum(visits) from table
获取访问者数据
您认为哪个是最佳选择? 还是有更好的选择? 请注意这一点,以防流量很大。
提前非常感谢您。
显然,更有效的方法是将第二个选项与count一起使用。 多行汇总为单行,仅以4字节整数为代价。 通常,具有多行相同的表效率不高。
因此,出于查询目的,第二选择会更好。
在创建和维护表方面,首选是更有效的。 与更新现有行相比,插入新记录的开销较小。 这可能没什么大不了的,但是在某些情况下这会有所作为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.