mysql中sum函数的最佳查询?

时间:2018-01-27 10:25:11

标签: mysql database performance runtime

我的查询是:

SELECT SUM(`acctinputoctets`) , SUM(`acctoutputoctets`) 
FROM `userhistory`
WHERE `compid`    = 1
AND acctupdatetime between  DATE_ADD(CURDATE() , INTERVAL 0 hour) 
 AND  DATE_ADD(CURDATE() , INTERVAL 6 hour);

// 14.9秒!!!

如何加快运行时间?

1 个答案:

答案 0 :(得分:0)

确保您在compid上有索引

也可以用于避免访问表的复合索引,例如

create index idx_compid on userhistory (compid, acctupdatetime, acctinputoctets, acctoutputoctets)

或至少包含

中所有列的合成
create index idx_compid on userhistory (compid, acctupdatetime)