# Compared with inception
# Function comparison:
Function | inception | goInception | Description |
---|---|---|---|
Audit | ✓ | ✓ | Basically no difference |
Execute | ✓ | ✓ | Basically no difference |
pt-osc tool | ✓ | ✓ | Basically no difference |
gh-ost tool | ✕ | ✓ | |
Backup | ✓ | ✓ | Basically no difference |
Ignore warning parameters | ✓ | ✓ | Basically no difference |
Read-only parameter | ✓ | ✕ | goinception not provided |
Syntax tree | ✓ | ✓ | The syntax tree of inception is more friendly |
Split function of DDL and DML | ✓ | ✓ | goinception supports mixed execution and will not affect rollback analysis |
Hibernate after executing a batch | ✓ | ✓ | goinception supports sleeping after executing the specified number |
Number of affected rows | ✕ | ✓ | goinception supports the calculation of the actual number of affected rows |
Transaction | ✕ | ✓ | |
SQL fingerprint | ✕ | ✓ | When the dml statements are similar, the explain results can be reused according to the same fingerprint ID to reduce the remote database explain operations and improve the audit speed |
# Speed comparison
Stage | inception | goInception | Description |
---|---|---|---|
Audit | ☆☆ | ☆☆ | Slightly better review speed inception |
Execute | ☆☆ | ☆☆ | Similar execution speed |
Backup | ☆ | ☆☆ | Goinception leads in backup speed (batch backup), which has a greater advantage |
# Difficult to get started
operating | inception | goInception | Description |
---|---|---|---|
Rapid deployment | ☆ | ☆☆ | Goinception can use binary deployment, download and use |
Problem debugging | ☆ | ☆☆ | Goinception has a lot of log output, which is easy to locate the problem quickly |
Interface call | Limited to python ,c ,c++ | As long as the language of mysql database driver is implemented, the call is supported |