github / gh-ost

GitHub's Online Schema-migration Tool for MySQL
MIT License
12.11k stars 1.23k forks source link

feat binlog apply optimization #1378

Open shaohk opened 4 months ago

shaohk commented 4 months ago

Description

  1. Support for ignoring binlog events that exceed chunk boundary values. If the value corresponding to the unique key of the binlog exceeds the maximum value of chunk iteration and is less than the maximum boundary value of the copy, it is ignored.

  2. Support for binlog merge processing. When the columns of the unique key selected by chunk are int or float, the binlog is processed by map merging, and all delete operations are merged into one delete sql.All insert and update operations are merged into one replace sql. Then execute these sql in db transaction.

In case this PR introduced Go code changes: