根据日期分组统计如何查询速度快
30天内120W数据做分组查询
CREATE TABLE `tablex` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`ctime` bigint(20) DEFAULT NULL COMMENT '',
PRIMARY KEY (`id`),
KEY `idx_time` (`ctime`),
) ENGINE=InnoDB AUTO_INCREMENT=1568014 DEFAULT CHARSET=utf8mb4
select (FROM_UNIXTIME(ctime,''%'Y-'%'m-'%'d')) t, COUNT(DISTINCT uid) num from `tablex` where `ctime` >= 1659484800 and `ctime` < 1662076800 group by `t`
建议对 ctime 做个缓存字段
cdate
,类型是date
。然后对其设置 index。那么查询的时候,尝试如下SQL呢: