小编use*_*523的帖子

提高 30 亿行表的 SQL 查询执行时间

我有一个超过 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 很陌生,对于我应该在这里做什么的任何建议,我们都很感激。

mysql index clustering query-performance

2
推荐指数
1
解决办法
3824
查看次数

标签 统计

clustering ×1

index ×1

mysql ×1

query-performance ×1