MySQL数据库Inception工具学习与测试案例(2)

Inception会自动将其设置为100000毫秒。这个参数可以和其他参数一起设置,但是只有在--enable-execute为1的情况下,才起作用。

 
--enable-check      

告诉Inception当前要做什么操作,是审核还是执行,这个参数与下面的--enable-execute智能指定一个。enable-check就是要告诉Inception,

当前的请求是要做审核操作,审核完成后就返回结果集。

 
--enable-execute      

如果执行的选项是--enable-execute,则Inception在执行前还会做一次实时的审核,这个审核和前面指定的--enable-check时的

审核是基本相同的,这是这次在审核完成后,还会继续进行。因为相同的语句在不同的时间审核可能会产生不同的审核结果(环境有可能变了),

所以有必要再做一次审核。如果审核发现了错误(而不是警告),就不会被执行,此时会提前返回告知错误;如果审核发现的是警告,

并且没有指定--enable-ignore-warnings,则有警告也不会执行。

 
--enable-ignore-warnings      

Inception采取严格的分阶段处理方式,先对所有的语句进行审核,审核完成之后,会执行所有的语句,之后再会执行所有语句的备份操作。

在三个阶段的过渡过程中,如果审核有问题则不会继续进行,此时如果人为确定想要跳过这些警告,则可以选择这个参数,

告诉Inception跳过这个警告的检查,继续执行。

 
--enable-force      

批量导入时,有可能会报主键冲突的问题,而DBA可以确定的是,出现主键冲突不是问题,可以继续执行,那么此时可以通过选项

--enable-force告诉Inception,在执行过程中碰到一个错误时,可以先保存错误信息并继续下一条语句。此参数需谨慎使用。

 
--enable-remote-back      

Inception支持备份并生成对应的回滚语句,这是默认的,但当有些影响行数很多且明确不需要回滚的时候,为了提高执行效率,

可以指定在执行时不做备份,指定方式是通过disable来禁用它,即disable-remote-backup。

 
--enable-split      

这个参数用来拆分要执行的语句块。如果在语句块中存在对同一个表的DDL操作和DML操作,那么在分析Binlog来生成回滚语句时,

由于表结构已经发生改变,会导致Inception没有办法处理,所以使用这个参数将这些语句分成多批,然后再分别执行。这是在执行前

必须要做的一个操作,不然可能会产生不可预知的错误。当然在执行前的最后一次审核中,如果检查到这样的混用情况,

则会返回报错,而不是警告。

 
--enable-query-print      

这个参数用来打印SQL语句在被Inception分析之后的执行树结构,已JSON的形式提供,目的是为了可以在Inception的基础上,

对已经结构化的(JSON)语句再次分析,可以对Inception内置支持的规则进行扩展,做个性化定制,比如使用到哪些列、

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e5cc155cd89d999277833102ebd2a20d.html