首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个大的(但没有使用)的ibdata1会减慢任何事情的速度

一个大的(但没有使用)的ibdata1会减慢任何事情的速度
EN

Database Administration用户
提问于 2012-07-19 06:29:04
回答 2查看 2.6K关注 0票数 2

嗨,我有一个ibdata1,大约是10吉。我已经使用innodb_file_per_table=1选项逐渐迁移到“每个表的文件”,这样ibdata1中就没有大表了。

我最近读到了如何清理东西:

https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261

我的问题是,有人知道如果我把大的ibdata1文件放在那里,会不会影响性能呢?我知道我可以通过清理东西来回收磁盘空间,但这不是现在的问题。一个更大的问题是,一天内不让整个系统瘫痪。因此,更关心的是服务器性能或任何其他方面的影响。

谢谢!

完成

EN

回答 2

Database Administration用户

回答已采纳

发布于 2012-07-19 10:07:34

我认为您的服务器的性能应该会提高,因为您已经用此设置设置了innodb_file_per_table=1和迁移了庞大的表,因此您的所有大型表都使用单独的ibdata文件进行InnoDB操作。

现在,所有新表和现有迁移表都将使用自己的ibdata文件,而不是10G的默认系统表空间文件,因此性能应该会提高....IMHO。

InnoDB_file_per_table具有以下优点:

  • 您可以使用InnoDB Enterprise产品快速备份或还原单个表,而无需中断其他MySQL表的使用。有关过程和限制,请参见还原单个.ibd文件。
  • 将特定的表存储在单独的物理磁盘上,以便进行I/O优化或备份。
  • 快速恢复单个表的备份,而不中断其他InnoDB表的使用。
  • 使用压缩行格式压缩表数据。
  • 在截断表时回收磁盘空间。
票数 1
EN

Database Administration用户

发布于 2012-07-23 23:31:51

我喜欢file_per_table。

除非您在磁盘空间上运行不足,否则超大的ibdata1不会产生任何影响。

ibdata1用于InnoDB (XtraDB)的许多重要内容。你不能把它移走。当您将表更改为file_per_table时,空间将在ibdata1中释放(而不是返回给操作系统)。至于继续使用的块,它们分散在稀疏文件中并不重要。

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

https://dba.stackexchange.com/questions/21134

复制
相关文章

相似问题

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