mysql 统计近 30 万条数据时间过长?
当需要统计大量数据时,例如这里提到的二十九万条数据,mysql 的执行速度似乎令人担忧,直接使用 count(*) 查询需要 13 秒多。对于这种数量级的数据,这个时间开销是否正常呢?
可能的优化方案
具体实现
以下是一个使用触发器维护统计数据的示例:
CREATE TRIGGER `trigger_t_order` AFTER INSERT ON `t_order_old` FOR EACH ROW BEGIN -- 更新统计数据 UPDATE `t_order_stats` SET `count` = `count` + 1 WHERE `order_id` = NEW.`order_id`; END
通过这样的方法,可以使用户在需要时快速获取统计数据,而无需每次都对大量数据进行扫描。