“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 的工作累赘。