# 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