首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >innodb_online_alter_log_max_size是从内存还是硬盘中获取内存的?

innodb_online_alter_log_max_size是从内存还是硬盘中获取内存的?
EN

Stack Overflow用户
提问于 2017-08-31 01:59:02
回答 1查看 1.4K关注 0票数 0

我在修改大表(400G)以添加索引时遇到Mysql (5.7)错误:

代码语言:javascript
运行
复制
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,但我担心它会从内存中取出它,因为它已经足够满了。

注意:我在tmpdir path上有足够的空间。

EN

回答 1

Stack Overflow用户

发布于 2017-08-31 02:08:30

它使用磁盘空间,而不是RAM。但我建议你做这个实验。使用create table foo_small like foo,然后使用带有insert into foo_small select * from foo where ...的WHERE子句,这样您就有了一个明显小于400 GiB的感兴趣的表的小副本。现在练习昂贵的"index add“操作,并验证资源消耗是否符合您的预期,然后再进行庞大的操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45966939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档