mysql - 如何同步相同的 innodb 和只读 myisam 表

标签 mysql

我计划有 2 个相同的表,一个在 innodb 中,另一个在 myisam 中。 innodb表用于写入和更新,myisam表纯粹用于读取。

同步 myisam 表和 innodb 表的最佳方法是什么?该解决方案不必是实时的。如果我可以每天同步一次,那就足够了。

我搜索论坛,有人建议insert table select * from table_readonly。但这是一个包含数百万行的大表。我需要 5 个小时才能完成插入。

还有更好的建议吗?

最佳答案

  1. 为什么设置这么奇怪?除非您有高度多线程的环境,否则这两个引擎之间的性能没有太大差异。

2.

 INSERT INTO myisamTable 
 SELECT * 
 FROM innoDbTable AS t1 
 LEFT JOIN myIsamTable AS t2 
 ON (t1.PK = t2.PK) -- use your Primary key for join
 WHERE t2.PK IS NULL  -- this way only rows that do not exist yet i myIsamTable will be copied
  • 为什么不使用 AFTER UPDATE 和 AFTER INSERT 触发器?
  • 关于mysql - 如何同步相同的 innodb 和只读 myisam 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408091/

    相关文章:

    MySQL 查询在 NodeJS 中返回 [Object, object],为什么?

    php - 对如何从返回一组特定值的查询中获取另一行感到困惑

    php - 使用 drupal 优化和压缩 mysql 数据库

    mysql - 简单的Mysql查询运行缓慢

    php - 使用mysql限制对结果进行分页

    MySQL仅在表不存在时插入数据

    mysql - 从数据库中删除表时外键约束失败

    mysql - 连接两个表两次并返回重复的列名

    Php 或 mysql 命令 - 将 mysql 行中的数据写入文本文件

    php - 如果存在mysql错误