2012-06-13 28 views
1

我已经有一年多的在线存档服务。不幸的是,我没有投入基础设施来保存统计数据。我现在拥有的是存档访问日志。数据库建议,用于存储每天每个小时的“计数”

每小时有两个音频文件(一个是0-30分钟,另一个是30-60分钟)。我目前使用MySQL来计数。看起来是这样的:

|  DATE  | TIME | COUNT | 
| 2012-06-12 | 20:00 | 39 | 
| 2012-06-12 | 20:30 | 26 | 
| 2012-06-12 | 21:00 | 16 | 

等等...

这使得365天* 24个小时* 2(两半,在一小时内)> 17500行。这使得读/写速度变慢,我感觉很多空间被浪费在这种存储方式上。

那么你知道任何其他数据库,将更有效地存储这些数据,并且更快吗?

+0

17500也不是很多。您可以将日期和时间作为DATETIME存储在一列中。如果读取速度慢,请考虑在DATETIME中添加索引。 –

+1

当您触及数十亿行时,请放心。考虑到数据库中有几万亿行数据,175k很小。 –

+0

@Michael权利。我可以使用索引。但是没有办法缩短写入时间,是吗? – Ram

回答

1

这不是太多的行。如果索引正确,读取速度应该非常快(写入速度会稍微慢一些,但即使对于高达约50万行的表格,我也很少注意)。

如果您选择使用什么数据库的项目,如

select * from my_table where date='2012-06-12'

然后,你需要确保你对日期列的索引。如果您在where语句中使用多个列,您也可以创建多个列索引。这会让你的阅读速度非常快(就像我说的一百万行)。

如果你不了解索引,在这里看到:

MySQL Indexes

相关问题