表结构

表中大概有 500 多万条数据,表每天在以 11 万条数据增长
现在执行 sql
SELECT COUNT(*) AS `num`, `trail` FROM (
SELECT `device`, `trail` FROM `ts_devices_count`
WHERE (`created_at` >= '2017-02-07') AND (`created_at` <= '2017-02-14')
GROUP BY `device`
) `temp` GROUP BY `trail`
在子查询中的表存在索引,子查询返回的结果表 temp 大概 11 万条数据,
整个 sql 执行下来大概需要 10 秒钟左右执行完,
如果单独执行子查询中 sql
SELECT `device`, `trail` FROM `ts_devices_count`
WHERE (`created_at` >= '2017-02-07') AND (`created_at` <= '2017-02-14')
GROUP BY `device` limit 200 offset 27384;
耗时大概是 1.39 秒
有没有办法能够优化到 1 秒内???或者换别的某种数据库能加快????