【发布时间】:2023-03-05 13:25:01
【问题描述】:
我有一个包含 170,002,225 行、大约 35 列和两个索引的表。我想添加一列。 alter table 命令用了大约 10 个小时。在那段时间处理器似乎既不忙,也没有过多的 IO 等待。这是一个具有大量内存的 4 路高性能盒子。
这是我能做到的最好的吗?有什么我可以在调整 db 时优化添加列的方法吗?
【问题讨论】:
-
HDD 系统是导致速度变慢的原因,您所能做的就是获得更快的 HDD 系统(如果您能负担得起 FusionIO),或者您只需要等待。或者,不要添加列:)
-
你使用什么 MySQL 版本?
-
@Michael 他说“也没有过多的 io 等待。”
-
@FractalizeR - 由于没有说明如何获取 IO 信息,我倾向于认为是内存/硬盘子系统(或 raid 控制器,如果有的话)阻止了桌子。根据我的经验(我使用大型数据集),当涉及到诸如此类的性能问题时,几乎总是应该归咎于存储系统。
-
@Michael,是的,就是这样。但无论如何,在你可以肯定地说出什么之前,需要进行彻底的调查。
标签: mysql performance alter