2015-08-03 26 views
0

我有一个数据库,它包含100个表,其中三个表大小增加到3 GB到8 GB。我该如何减小表的大小。 我正在使用优化表命令,它工作正常,但大小不减少。如何在MYSQL中优化表?

我正在使用percona工具包命令。 命令工作正常并成功完成,但 表大小相同,对表大小没有影响。 我将如何解决这个问题?

如何使用pt-online-schema-change优化非常大的表优化表? 我的表格大小是10 GB如何减小表格大小。

+0

你甚至知道你想要做什么以及你在做什么? – Mjh

+0

你的问题是什么? –

回答

0

如果表中的数据已经在磁盘上组织良好,优化表将不会对您有所帮助。

您可以:

  • 删除旧数据
  • 摆脱二级指标,你不需要
  • 打开压缩你的表
  • 分区表和移动某些分区其他存储
0

如何缩小磁盘占用空间?

  • 不要使用INT(4字节)当MEDIUMINT(3字节)就足够了。
  • 请勿使用MEDIUMINTSMALLINT(2个字节)就足够了。等
  • 不要使用utf8的十六进制字符串。
  • 标准化重复值。 (合理范围内)
  • 在客户端压缩TEXT字段,然后使用BLOB
  • 不要PARTITION除非有合理的理由;它可能会使占地面积更大,也许更大。
  • INDEX(a)如果你有INDEX(a,b)
  • OPTIMIZE TABLE很可能是浪费时间。 (当你发现了。)

pt-online-schema-change(或5.6),帮助您一定变化不锁定表很长一段时间。

你甚至没有提到的基础 - MyISAM或InnoDB。 (有些技术不同。)Windows还是Unix? (某些工具不适用于Windows。)

让我们看看SHOW CREATE TABLE;我们可能会想出更多的建议。

为什么10GB吓到你了?许多系统处理100GB。 1TB有点可怕。