我目前使用以下查询,由于数据量(大约14个月),大约需要8分钟才能返回结果.有没有办法让我加快速度呢?
有问题的数据库是带有InnoDb引擎的MySQL
select
CUSTOMER as CUST,
SUM(IF(PAGE_TYPE = 'C',PAGE_TYPE_COUNT,0)) AS TOTAL_C,
SUM(IF(PAGE_TYPE = 'D',PAGE_TYPE_COUNT,0)) AS TOTAL_D
from
PAGE_HITS
where
EVE_DATE >= '2016-01-01' and EVE_DATE <= '2016-01-05'
and SITE = 'P'
and SITE_SERV like 'serv1X%'
group by
CUST
数据分区为6个月.进入where子句的每一列都被编入索引.有一些指数&这将是一个很重要的列表.因此,只需用文字进行总结.对于此查询,EVE_DATE PAGE_TYPE_COUNT是复合索引之一& CUST SITE_SERV EVE_DATE,EVE_DATE SITE_SERV,EVE_DATE SITE,
主键实际上是一个虚拟自动增量编号.它不是老实说的.我无法访问解释计划.我会看到我能为此做些什么.
我很感激有任何帮助来改善这个.