我有一个超过 2 亿行的 mysql 表。我每天还写 100 万行。该表包含一些大列,例如varchar(255)
(用于保存长网址)
为了在此表上执行分析,我创建了 5 个特定索引,这确实加快了执行时间。(对于某些查询,从 25 分钟以上到 2 分钟)。
问题仍然存在,2 分钟对于一个查询来说已经是很多时间了。我想运行多个查询以进行分析和报告。
此外,该表每天都在快速增长,我非常确定索引已尽可能优化。
这是集群可以解决我的问题的地方吗?也就是说,如此大小的表仍然在单个 sql 节点上运行,这是否不寻常?
或者是否仍然可以在如此大的表中以毫秒为单位运行查询?
我的一个示例查询是:
SELECT name, url, SUM(visits), AVG(price), AVG(loc) FROM mytable
WHERE sname IN ('white') AND usage IN ('three') AND date BETWEEN '2001-01-01' AND '2003-03-10'
GROUP BY name, url ORDER BY SUM(visits);
Run Code Online (Sandbox Code Playgroud)
我对集群和 HPC 很陌生,对于我应该在这里做什么的任何建议,我们都很感激。