计算每天从mysql中的巨大表创建的行数

时间:2013-07-10 20:56:23

标签: mysql sql database

我需要计算每天为mysql中的巨大表创建的行数。我正在使用

select count(1) from table_name group by Date

查询花费更多2000秒并计算。我想知道是否有任何优化查询或优化查询的方法。

3 个答案:

答案 0 :(得分:1)

  • 确保“日期”字段属于“日期”类型,而不是日期时间和时间戳
  • 索引该列
  • 如果您需要一天,请添加“where”声明。即WHERE date =“2013-07-10”

答案 1 :(得分:1)

如果您只对在这些日期创建的项目感兴趣,可以计算一天结束时的计数并将其存储在另一个表格中。

这使您可以在更小的数据集(Use WHERE DATE(NOW()) = Date上运行COUNT查询并删除GROUP BY

然后在需要数据时查询新表。

答案 2 :(得分:0)

Date列上添加索引,没有其他方法可以优化此查询。

CREATE INDEX ix_date
ON table_name (Date);