为什么复制数据库的压力会更小?

Why would a replicated database have less strain?

如果有可能就数据库复制进行高层对话,那正是我要找的。

假设我有一个复制的只读数据库,创建它的目的是将其用于报告。好处是用户不会为报告数据而敲打主数据库,这些查询被卸载到辅助数据库。但是如果我设置实时交付,现在辅助数据库正在从主数据库获取读取请求和更新语句。您复制的数据库不会容易出现故障,就像您将一个数据库同时用于事务和报告功能一样吗?

换句话说,与读写事务数据库的常见 CRUD 操作相比,任何实时复制方法(我只熟悉日志传送)的性能优势是什么运行 进入?

A​​没有复制你有:

  1. 在您的主服务器上:
    • SELECT 语句,
    • DML 语句,
    • 报表。

如果创建复制,则:

  1. 在小学你有:

    • SELECT 语句,
    • DML 语句。
  2. 在你的副本上:

    • DML 语句,
    • 报表。

您没有从源上的 SELECT 语句生成的负载。所有基于日志的复制系统都不会将 SELECT 语句复制到复制系统。他们不更改数据,数据库日志中也没有他们的踪迹。

更高级的复制系统也不会复制已回滚的 DML 语句(使用 ROLLBACK 语句完成)。仅复制已提交的语句(以 COMMIT 语句完成)。