如何从 innodb 缓冲池中排除特定表?

如何从 innodb 缓冲池中排除特定表?

这是我的情况。

我有一张非常大的表,里面有大约 90 GB 的数据。我习惯DATA DIRECTORY将该表放在另一个驱动器上,因为我很少使用该表,也不想让它浪费 SSD 上的空间。但是,我在 InnoDB 数据大小方面遇到了问题。

tuning-primer 和 mysqltuner 都显示 InnoDB 数据大小为 73 GB,而我已将 InnoDB 池大小设置为 30 GB。我不太清楚 73 GB 是从哪里来的,我认为这是因为我有一个非常大的 90 GB 表。

我该如何减少数据大小?我知道我的 InnoDB 池大小足够大,到目前为止,我没有看到对我的服务器产生不利影响。

谢谢!

答案1

听起来你需要另一台服务器来进行归档。我以前也遇到过这个问题,对我来说,最好的策略是加载另一台纯粹用于归档存储的服务器。它显著提高了我在实时数据库服务器上的吞吐量,并且仍然可以访问归档数据库服务器上的归档数据。

相关内容