-
soar下载安装
- 下载使用下载地址
- windows下将文件重命名为soar.exe,linux下赋予执行权限
- 在soar同级目录下创建etc文件夹,创建soar.yaml (不配置也行,会少了EXPLAIN分析)
# 线上环境配置 online-dsn: addr: 127.0.0.1:3306 schema: compstore2 user: root password: 123456 disable: false # 测试环境配置 test-dsn: addr: 127.0.0.1:3306 schema: compstore2 user: root password: 123456 disable: false # 是否允许测试环境与线上环境配置相同 allow-online-as-test: true # 是否清理测试时产生的临时文件 drop-test-temporary: true # 语法检查小工具 only-syntax-check: false sampling-statistic-target: 100 sampling: false # 日志级别,[0:Emergency, 1:Alert, 2:Critical, 3:Error, 4:Warning, 5:Notice, 6:Informational, 7:Debug] log-level: 7 log-output: etc/soar.log # 优化建议输出格式 report-type: markdown ignore-rules: - "" # 黑名单中的 SQL 将不会给评审意见。一行一条 SQL,可以是正则也可以是指纹,填写指纹时注意问号需要加反斜线转义。 blacklist: etc/soar.blacklist # 启发式算法相关配置 max-join-table-count: 5 max-group-by-cols-count: 5 max-distinct-count: 5 max-index-cols-count: 5 max-total-rows: 9999999 spaghetti-query-length: 2048 allow-drop-index: false # EXPLAIN相关配置 explain-sql-report-type: pretty explain-type: extended explain-format: traditional explain-warn-select-type: - "" explain-warn-access-type: - ALL explain-max-keys: 3 explain-min-keys: 0 explain-max-rows: 10000 explain-warn-extra: - "" explain-max-filtered: 100 explain-warn-scalability: - O(n) query: "" list-heuristic-rules: false list-test-sqls: false verbose: true
- 使用
- 给出优化建议(windows下无法使用echo)
soar.exe -query sql.sql
- 美化sql
type .sql.sql |.soar.exe -report-type=pretty
- 给出优化建议(windows下无法使用echo)
- 可视化soar-web安装
- 克隆项目soar-web项目
- 安装python环境(安装步骤省略) 我这里用的目前最新的3.9.5
- 安装依赖
pip install Flask pymysql pycryptodome
- 启动用脚本或者手动都行
python .soar-web.py
- 打开浏览器访问
http://127.0.0.1:5077
就行
- 可视化soar-web使用
- 配置(不配置也行,会少了EXPLAIN分析)
- 评估,美化,压缩,其他大家按需求使用
- 配置(不配置也行,会少了EXPLAIN分析)