mysql优化非常大的表

mik*_*mik 5 mysql optimization myisam

我有一个大约15Gb的MyIsam表.我删除了大约一半的行,删除查询大约需要10个小时.现在我害怕开始optimize table,因为我不知道要花多长时间.如果您有这种大桌子的经验,请与我分享.

PS删除过程后,查询"select*from table limit 0,30"需要数年时间.会有optimize table帮助吗?

需要10个多小时吗?

如果我打断"优化表"查询,会发生什么?

Kay*_*ser 5

优化表将有助于减小大小(索引将被重新计算等)如果您删除了一半的行,您应该优化您的表。在我的公司,我们有大约 2-3 GB 的表。优化不像删除那么简单。

如果您希望查询速度更快,请优化您的表。



从大表中删除许多行的另一个提示:您可以在不使用任何删除命令的情况下执行此操作。

选择不删除的行放入与原表结构相同的空表中:

INSERT INTO t_copy SELECT * FROM t WHERE ... ;

使用 RENAME TABLE 以原子方式将原始表移开,并将副本重命名为原始名称:

RENAME TABLE t TO t_old, t_copy TO t;

删除原始表:

删除表 t_old;