我有这个查询,每个请求只运行一次。
SELECT SUM(numberColumn) AS total, groupColumn
FROM myTable
WHERE dateColumn < ? AND categoryColumn = ?
GROUP BY groupColumn
HAVING total > 0
myTable
有不到十几个列,可以增长到 500 万行,但在生产中更可能是 200 万行。查询中使用的所有列都是数字,除了,并且在和dateColumn
上有索引。dateColumn
categoryColumn
如果数据库得到适当优化,期望这个查询在大多数现代服务器上运行 500 万行,在 5 秒内运行是否合理?
我问的原因是我们没有 500 万条数据,我们甚至不会在未来几年内达到 200 万条,如果查询没有在 5 秒内运行,那么很难知道在哪里问题出在哪里。会不会是查询不适合大表,或者数据库没有优化,或者服务器不够强大?基本上,我想知道使用SUM()
and GROUP BY
over a large table 是否合理。
谢谢。