乐趣区

关于mysql:使用AI优化慢SQL开发秒变DBA

“AI 不会代替他们,但善用 AI 的人会”

慢 SQL 常常会让应用程序响应变慢,轻者影响用户体验,重大的时候可能会导致服务不可用。如果,每次遇到慢 SQL 都求助于 DBA,一方面效率很低,另一方面也会很没面子。所以,咱们一起来看看如何应用 AI 能力给出超过个别 DBA 的 SQL 优化倡议。NineData(www.ninedata.cloud)面向每个开发人员提供了收费的 SQL 开发性能,同时也提供了收费的 AI SQL 优化性能。

咱们看看,如何应用 NineData 的 AI 性能实现 SQL 优化。

1. 创立数据源

登录进入控制台,并创立一个永恒收费的数据源,用于优化 SQL(如果曾经有数据源了则能够跳过这一步)。

登录进入 NineData 控制台

创立一个永恒收费的数据源

2. 一个简略的案例

接着只须要在“SQL 窗口”,输出想要优化的 SQL,并点击“智能优化”,急躁期待就好了。具体的:

点击右侧导航“SQL 开发 ->SQL 窗口”,进入一个数据源的 SQL 窗口

接着输出须要优化的 SQL,选中 SQL 并点击“SQL 智能优化”按钮即可

例如,咱们在零碎中发现了如下的慢 SQL 须要优化:

SELECT *

FROM t_user

WHERE region_id = '0571';

NineData 零碎中发现了如下的慢 SQL 须要优化

很快,就取得如下的优化倡议:

NineData 智能 SQL 优化

能够看到,在智能优化倡议中,包含了常见的索引增加倡议,也有容易疏忽的“SELECT *”优化,还有更加简单一些笼罩索引倡议,曾经具备了个别 DBA 的 SQL 智能优化能力。

3. 一个较简单的案例

再看一个更加简单的案例吧:

SELECT *

FROM t_user

WHERE region_id = '0571'

AND YEAR(birth_date) >= 2012

ORDER BY reg_date

LIMIT 10

点击智能优化按钮:

NineData 系统对简单的慢 SQL 解决

期待后,取得如下优化倡议:

NineData 智能对简单的 SQL 优化

能够看到,首先给出了新建索引的倡议;其次,智能优化引擎很敏锐的发现了在 WHERE 条件中对于某些列做了函数计算,可能很大水平上影响索引应用,并给出批改倡议;最初,也十分精确的给出了对于笼罩索引的倡议。

4. 交互式对话的解决数据库的问题

另外,NineData 还提供了对话式的“AI 智能”性能,能够间接问他一些对于数据库的问题。例如:能够间接问她“为什么表最好有主键”、“为什么字符集应该尽量应用 utf8mb4,而不是 utf8?”等。

具体的,首先,登录进入控制台,进入“SQL 开发 ->SQL 窗口”,并点击“AI 智能”,而后就能够间接提出相干的数据库问题。

应用 NineData 的 SQL 窗口”,并点击“AI 智能

例如,这里关注的问题是:“为什么表最好有主键”、“为什么字符集应该尽量应用 utf8mb4,而不是 utf8?”,很快 AI 智能会给出答复:

为什么表最好有主键?

为什么字符集应该尽量应用 utf8mb4,而不是 utf8?

通过这些案例,咱们能够看到,通过 NineData 的 AI SQL 优化能力,能够大大提高开发者日常 SQL 开发效率,也能够大大加重 DBA 的工作累赘。

退出移动版