我有一个web应用程序,它有一个1TB MySQL 5.7生产数据库。
由于表数据大小,我们遇到了性能问题。我们计划从不同的表中归档旧数据。寻找最好的选择。
用户每天使用最少的数据进行CRUD操作,因此我们计划删除旧数据(1年前数据),分离存档DB服务器,并从生产DB中删除旧数据,这将使用户CRUD操作更快。
用于存档单独DB同步的生产DB每天都会发生。生产数据库分开档案数据库服务器同步只创建,更新的数据应该同步。当需要查看所有数据时,用户使用单独的归档DB服务器。
发布于 2020-10-23 08:27:50
为了提高性能,您不需要将数据移动到另一台服务器。
您只需将数据移动到另一个表中(假设存档/清除发生在2020/10/23,并且您可以使用这样的命名约定)并从现有表中删除。由于原来的表很小,所以性能应该提高。
当活动数据集不适合内存并触发磁盘I/O时,性能就会受到影响。在服务器中使用非活动表(S)不会导致任何显著的性能问题--数据字典的大小可能会增加一点。
如果您担心备份/恢复时间也在增加,并且希望修复它,这种方法并不是最好的方法。将数据移动到另一台服务器是最好的。
https://dba.stackexchange.com/questions/278545
复制相似问题