Closed hhyo closed 5 years ago
最近尝试使用SOAR批量分析SQL,比如收集到的慢日志或者MyBatis的Mapper XML时,使用-report-type=json,发现分析结果中没有分值信息,不方便给出整体的质量报告和快速定位问题较多的SQL,不知道是否有计划在-report-type=json的结果中加入和markdown一样的分值信息,并且参考 #98 将建议信息分类合并
使用场景:批量分析,按照分值、建议信息给出整体质量,同时支持单SQL报告查看
-report-type=json
soar -query "select title,* from sakila.film where 1=1" -report-type=json { "5AC5B10489F5C243": { "COL.001": { "Item": "COL.001", "Severity": "L1", "Summary": "不建议使用 SELECT * 类型查询", "Content": "当表结构变更时,使用 * 通配符选择所有列将导致查询的含义和行为会发生更改,可能导致查询返回更多的数据。", "Case": "select * from tbl where id=1", "Position": 0 }, "RES.007": { "Item": "RES.007", "Severity": "L4", "Summary": "永远为真的比较条件", "Content": "查询条件永远为真,可能导致 WHERE 条件失效进行全表查询。", "Case": "select * from tbl where 1 = 1;", "Position": 0 } } }
-report-type=markdown
soar -query "select title,* from sakila.film where 1=1" -report-type=markdown # Query: 5AC5B10489F5C243 ★ ★ ★ ☆ ☆ 75分 SELECT title, * FROM sakila. film WHERE 1= 1 ## 不建议使用 SELECT * 类型查询 * **Item:** COL.001 * **Severity:** L1 * **Content:** 当表结构变更时,使用 \* 通配符选择所有列将导致查询的含义和行为会发生更改,可能导致查询返回更多的数据。 ## 永远为真的比较条件 * **Item:** RES.007 * **Severity:** L4 * **Content:** 查询条件永远为真,可能导致 WHERE 条件失效进行全表查询。
Feature Description
最近尝试使用SOAR批量分析SQL,比如收集到的慢日志或者MyBatis的Mapper XML时,使用-report-type=json,发现分析结果中没有分值信息,不方便给出整体的质量报告和快速定位问题较多的SQL,不知道是否有计划在-report-type=json的结果中加入和markdown一样的分值信息,并且参考 #98 将建议信息分类合并
SQL ANALYZE
使用场景:批量分析,按照分值、建议信息给出整体质量,同时支持单SQL报告查看
Use Case(s)
-report-type=json
-report-type=markdown