我在测试环境中成功启动了逻辑复制。我insert
使用程序在主服务器上生成了一些 60K 记录。在插入过程运行时,我使用“ SELECT count(*)
”查询监视从属。但是记录没有添加。如果我在主节点上完成插入后运行查询,则SELECT count
工作正常,从属节点和主节点之间的所有记录都是相等的。
这是正常行为吗?我期望奴隶和主要人几乎立即完全相同。
谢谢
我在测试环境中成功启动了逻辑复制。我insert
使用程序在主服务器上生成了一些 60K 记录。在插入过程运行时,我使用“ SELECT count(*)
”查询监视从属。但是记录没有添加。如果我在主节点上完成插入后运行查询,则SELECT count
工作正常,从属节点和主节点之间的所有记录都是相等的。
这是正常行为吗?我期望奴隶和主要人几乎立即完全相同。
谢谢
听起来您希望一次看到一条或几条记录的计数逐渐变化。但是正如 a_horse_with_no_name 所提到的,如果正在插入的 60k 行都发生在同一个事务中,那么在该事务完成之前您不会看到更改。
即使在主服务器上,您也不会看到单独的计数发生变化,只有在事务提交后总计数才会发生变化。这是事务的本质,它们的属性之一是原子性(ACID 数据库原则),松散的意思是所有更改都发生或不发生,没有中间。