sql自动化检查和分析工具 :soar和soar-web 安装和使用体验

1. 什么是soar和soar-web

Soar:是一款开源的 SQL 解析、优化和重写引擎,它通过自动化分析 SQL,自动化检查应用程序后端的 SQL 性能,自动化通过重写 SQL 语句来实现 SQL 语句性能的优化。

Soar-web:是 Soar 的图形化界面,可以直观的查看 SQL 执行情况,并根据执行信息进行建议。

2. 安装和配置Soar

2.1 下载 Soar 并解压

下载最新的 Soar:https://github.com/XiaoMi/soar/releases,下载后解压。

2.2 配置数据库连接

进入到解压后的 Soar 目录,修改 config.yaml 文件,配置数据库连接信息:

data-source:

driver-name: "mysql"

data-source-name: "root:password@tcp(127.0.0.1:3306)/dbName"

max-open-connections: 10

max-idle-connections: 10

ping-timeout: 60s

driver-name:数据库驱动名称,mysql、postgres 等。

data-source-name:数据库连接字符串,包括用户名、密码、ip、端口号、数据库名。

2.3 执行 Soar

进入到解压后的 Soar 目录,执行以下命令:

./soar -config=config.yaml -test-dsn="root:password@tcp(127.0.0.1:3306)/dbName" -query="select * from tableName limit 10"

-config:指定配置文件路径。

-test-dsn:测试连接的数据源,格式同 data-source-name。

-query:要测试的 SQL,可以为文件路径或者直接的 SQL 语句。

3. 安装和配置 Soar-web

3.1 下载 Soar-web 并解压

下载最新的 Soar-web:https://github.com/XiaoMi/soar/releases,下载后解压。

3.2 配置数据库连接

进入到解压后的 Soar-web 目录,修改 config.yaml 文件,配置数据库连接信息:

env: product

debug: false

http:

listen: :8080

database:

host: 127.0.0.1

port: 3306

user: root

password: password

dbname: dbName

max_idle_conns: 10

max_open_conns: 10

conn_max_lifetime: 60s

soar:

score_threshold: 70

explain_threshold: 30

max_sql_length: 2048

host:数据库服务器地址。

port:数据库服务器端口号。

user:数据库用户名。

password:数据库密码。

dbname:数据库名称。

max_idle_conns:最大空闲连接数。

max_open_conns:最大连接数。

conn_max_lifetime:连接最大生存时间。

score_threshold:等级评分阈值,低于该值的 SQL 会被判定为高风险 SQL。

explain_threshold: SQL 执行计划的等待时间阈值,超过该阈值的 SQL 会被判定为高风险 SQL。

max_sql_length: SQL 的最大长度。

3.3 启动 Soar-web

进入 Soar-web 目录,执行以下命令:

./bin/start.sh

启动后访问:http://localhost:8080,可以进入到 Soar-web 的首页。

4. 使用 Soar 和 Soar-web 进行 SQL 分析

4.1 SQL 分析

进入 Soar-web 的首页,填写 SQL 代码后点击“Score”按钮,就可以进行 SQL 分析了。

点击“Score”后,就可以看到分析的结果了,具体结果还包括风险评分、SQL 重写建议、SQL 执行计划等。

4.2 SQL 重写

在 Soar-web 的分析结果页面,点击“重写”按钮,就可以进行 SQL 重写了。

点击“重写”后,就会在页面下方显示重写后的 SQL 代码。

5. 总结

Soar 和 Soar-web 是一款非常优秀的 SQL 自动化分析和重写工具,不仅支持 SQL 语句性能优化,而且可以对 SQL 执行计划等进行全面的评估,给出建议和优化方案。

使用 Soar 和 Soar-web,可以大大提高 SQL 优化的效率和准确性,对于应用程序性能的提升有着非常大的帮助和促进作用。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签