#yasboot discovery
# discovery ac
本命令可以根据用户指定的SQL文件或历史SQL来发现推荐的AC语句。
选项 | 含义 |
---|---|
-c, --cluster | YashanDB的集群名(必传参数) |
--file | 指定SQL文件,与history二选一 |
--history | 使用记录的历史SQL,与file二选一 |
--explain | 指定SQL文件检查SQL正确性 |
-s, --schema | 指定SQL文件的schema,默认为SYS |
-sp, --schema-password | 指定schema的密码 |
-f, --force | 跳过explain参数的确认提示 |
-m, --mode | 指定AC发现模式,可选'NORMAL'和'BASE'分别为正常模式和基础模式 |
-o, --output | 指定输出路径,生成AC列表文件 |
--parallelism | explain和解析SQL的并行度,范围为1-16,默认为1 |
-u, --username | 指定数据库用户(不指定则默认使用sys用户) |
-p, --password | 数据库用户对应的密码 |
示例
$ yasboot discovery ac -c yashandb --file ac.sql
$ yasboot discovery ac -c yashandb --history
SQL文件规格
当前单个SQL文件默认规格为:文件大小不超过200M,SQL数不超过100万条。
ac.sql示例
SELECT a, b FROM yasom.test01 WHERE c=2 AND d=3;
SELECT a FROM "yasom".test01 WHERE b=3 AND d=7;
ac发现结果
Schema | Table | Statement
------------------------------------------------------------------------------------------------------------------------
YASOM | TEST01 | CREATE ACCESS CONSTRAINT YASOM.YASOM_TEST01_AC1 FROM YASOM.TEST01 ON C,D TO A,B;
--------+--------+------------------------------------------------------------------------------------------------------
yasom | TEST01 | CREATE ACCESS CONSTRAINT "yasom".YASOM_TEST01_AC2 FROM "yasom".TEST01 ON B,D TO A;
--------+--------+------------------------------------------------------------------------------------------------------