我在更改巨大的表(400 G)时添加了索引时出现了Mysql(5.7)错误:
ERROR 1799 (HY000): Creating index 'FTS_DOC_ID_INDEX' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.
我想我必须增加innodb_online_alter_log_max_size
,但我担心它会从RAM中取出它,因为它已经足够了。
N.B:tmpdir
路径上有足够的空间。
答案 0 :(得分:1)
它使用磁盘空间,而不是RAM。但我建议你做实验。使用create table foo_small like foo
,然后使用带有insert into foo_small select * from foo where ...
的WHERE子句,这样您就可以轻松地复制感兴趣的表,大大小于400 GiB。现在练习昂贵的“索引添加”操作,并在执行大量操作之前验证资源消耗是否符合您的预期。