我有一个非常具体的问题,需要多个 MYSQL 数据库实例,我需要将每个数据库/表中的所有数据“同步”到一个数据库/表中。
基本上,将 [tableA.db1, tableB.db2, tableC.db3] 转换为 [TableAll.db4]。
一些数据库实例在同一台机器上,有些在单独的机器上。每天向一个表添加大约 80,000 行,并且有 3 个表(DB)。因此,每天大约有 240,000 人将“同步”到一张桌子。
我一直在使用 Event Schedule 每小时将每个数据库中的数据复制到“All-For-One”数据库中。但是,我最近一直在想这是否是最好的解决方案。我考虑过使用触发器,但有人告诉我它会给数据库带来沉重的负担。使用语句触发器可能会更好,但它过多地取决于语句的形成方式。然后我听说了 Federated(Oracle 术语“DBLink”),我想我可以用它来链接每个表并在这些表上创建一个 VIEW 表。但是我对数据库了解不多,所以并不是很了解每种方法的含义。
所以,我的问题是.. 考虑到“All-For-One”数据库只需要是只读的,为了定期将多个数据库中的数据复制到一个数据库中,哪种方法会更好,性能和资源方面更好?
谢谢!