使用AI优化慢SQL,开发秒变DBA

news2024/7/31 5:22:18

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

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

我们看看,如何使用 NineData 的 AI 功能完成 SQL 优化。

1. 创建数据源

登录进入控制台,并创建一个永久免费的数据源,用于优化 SQL(如果已经有数据源了则可以跳过这一步)。

登录进入NineData控制台
 登录进入NineData控制台

 创建一个永久免费的数据源
 创建一个永久免费的数据源

2. 一个简单的案例

接着只需要在“ SQL 窗口”,输入想要优化的 SQL,并点击“智能优化”,耐心等待就好了。具体的:

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

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

例如,我们在系统中发现了如下的慢 SQL 需要优化:

SELECT *

FROM t_user

WHERE region_id = '0571';

NineData系统中发现了如下的慢 SQL 需要优化
NineData系统中发现了如下的慢 SQL 需要优化

 

很快,就获得如下的优化建议:

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处理

 

等待后,获得如下优化建议:

NineData智能对复杂的SQL优化
NineData智能对复杂的SQL优化

 

可以看到,首先给出了新建索引的建议;其次,智能优化引擎很敏锐的发现了在 WHERE 条件中对于某些列做了函数计算,可能很大程度上影响索引使用,并给出修改建议;最后,也非常准确的给出了关于覆盖索引的建议。

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

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

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

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

 

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

为什么表最好有主键?
为什么表最好有主键?

 

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

 

通过这些案例,我们可以看到,通过 NineData 的 AI SQL 优化能力,可以大大提高开发者日常 SQL 开发效率,也可以大大减轻 DBA 的工作负担。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/458947.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PowerShell批量修改、替换大量文件的文件名

本文介绍基于PowerShell语言,对文件夹中全部文件的名称加以批量替换、修改的方法。 在之前的文章基于Python一次性批量修改多个文件的文件名(https://blog.csdn.net/zhebushibiaoshifu/article/details/115869725)中,我们介绍了基…

为什么重写equals时必须重写hashCode()

不重写equals和不重写 hashCode()之前:equals()比较的是对象的内存地址,hashCode()比较的其实也是内存地址(内存地址输入到哈希函数中得到的整数) 重写了之后,equals()比较的是对象的内容值,如果hashCode()不重写,还是…

log是什么文件可以删除吗?log文件被删怎么恢复?

在工作和生活中,我们难免会遇到因操作失误、软件崩溃或病毒攻击等原因导致重要文件被误删的情况,这其中包括log文件。如果您不幸遇到log文件被误删的情况,不要过于担心,本文将为您介绍几种方法,帮助您找回被误删除的lo…

【hello Linux】动静态库

目录 1. 了解动静态库 1. ldd 命令的使用 2. C语言库与C语言库 3. 库的分类 4. 库的命名 5. 库的内容 2. 静态库的制作和使用 1. 静态库的制作 2. 静态库的使用 3.动态库的制作和使用 1. 动态库的制作 2. 动态库的使用 Linux🌷 1. 了解动静态库 1. ldd 命令的使用 …

JavaScript 鼠标事件监听触发时机触发顺序

有时间整理下鼠标的监听事件,目前汇总到的鼠标监听事件以下10个: 目录 1. click 2. dblclick 3.contextmenu 4.mousedown 5.mouseup 6.mouseenter 7.mouseleave 8.mouseover 9.mouseout 10.mousemove 先说下触发时机和作用键(左键…

九州云出席全球分布式云大会,基于5G MEC的车路协同创新引关注

4月20日,以“云智相生”为主题的2023全球分布式云大会北京站在北京成功召开。本次大会作为AIGC数智中国科技周的重要组成部分,聚焦分布式云和人工智能,探讨分布式云如何更好地支持人工智能发展,打造MaaS(模型即服务&am…

2023年4月中旬值得关注的几个AI模型:Dollly2、MiniGPT-4、LLaVA、DINOv2

AI模型的发展速度令人惊讶,几乎每天都会有新的模型发布。而2023年4月中旬也有很多新的模型发布,我们挑出几个重点给大家介绍一下。 Dolly-v2 MiniGPT-4 LLaVA DINOv2 Dolly-v2 Dolly是EleutherAI开源的一系列大语言模型,EleutherAI认为…

vue的diff算法原理

diff 概念diff比较流程头头尾尾头尾尾头比对查找过程 与vue3的区别 diff 概念 vue基于虚拟DOM做更新,diff的核心就是比较两个虚拟节点的差异。 vue的diff算法是平级比较,不考虑跨级比较的情况。内部采用深度递归 双指针的方式进行比较 diff比较流程 先…

文本挖掘 实践笔记

文本挖掘流程:(How) 文本预处理->特征提取->文本分析->可视化展示 文本预处理:包括文本清洗、分词、词性标注等 特征提取:将文本转化为词频、TF-IDF、embedding向量等 文本分析:利用统计学或机器学习的知识,做聚类、情感识别等 可视化展示:帮助人们更好…

Java版本电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展 传统采购模式面临的挑战 一、立项管理 1、招标立项申请 功能点:招标类项目立项申请入口,用户可以保存为草稿,提交。 2、非招标立项申请 功能点:非招标…

Pandas技术重点来了

Pandas库建立在NumPy之上,并为Python编程语言提供了易于使用的数据结构和数据分析工具。 1.安装及调用 pip install pandasimport pandas as pd 一种能够保存任何数据类型的一维标记数组 >>> s pd.Series([3, -5, 7, 4], index[a, b, c, d]) 一种具有潜…

第八届cccc团体程序设计天梯赛——个人参赛总结——无代码纯粹的参赛总结

第八届cccc团体程序设计天梯赛——个人参赛总结——无代码纯粹的参赛总结 目录 第八届cccc团体程序设计天梯赛——个人参赛总结——无代码纯粹的参赛总结引言~介绍一下cccc天梯赛(选读)开篇介绍(以下是个人经历部分的分享)赛前准备…

其他品牌的触控笔能用在ipad上?性价比高的触控笔合集

随着平板电脑在学校、办公室等领域的广泛应用,越来越多的人需要一支出色的电容笔。虽然苹果原装的电容笔很给力,但是其的价格实在是太贵了,仅仅把它用于在纸上写写字,实在是太可惜了。所以,哪个电容笔更便宜&#xff1…

密歇根大学Python系列之一:零基础 Python 入门

密歇根大学计算机专业注重将计算机科学理论与实践相结合,旨在帮助学生全面掌握计算机科学的基础理论和实践技能: 1.计算机程序设计:编程技能和常见编程语言,如C和Java和Python等; 2.数据结构和算法:数据结…

2023年能源与环境工程国际会议(CFEEE 2023)

会议简介 Brief Introduction 2023年能源与环境工程国际会议(CFEEE 2023) 会议时间:2023年9月1日-3日 召开地点:中国三亚 大会官网:CFEEE 2023-2023 International Conference on Frontiers of Energy and Environment Engineering 由三亚纵横…

手撕八大排序算法(解析源码+图解)

八大排序算法 文章目录 八大排序算法一、插入排序1.代码实现2.思路图解 二、希尔排序1.代码实现2.思路图解 三、选择排序(优化版)1.代码实现2.思路图解 四、堆排序1.代码实现2.思路图解 五、冒泡排序1.代码实现2.思路图解 六、快速排序1.递归版本2.非递归版本3.快速排序的两个优…

Android之 Bitmap使用

一,简介 1.1 Bitmap是一种图片在内存中的表现形式,不管是png,还是jpg最终都是以bitmap的形式显示到控件上面。 Bitmap是一种位图,位图​是点阵图像​或栅格图像,是由称作像素(图片元素)的单个…

C++篇----类、封装、类访问权限、类实例化

文章目录 一、面向过程和面向对象二、类 一、面向过程和面向对象 c语言是面向过程的编程语言 c是面向对象的编程语言 面向过程:关注过程,对于求解问题的不走,调用函数逐步解决问题 就洗衣服来说:洗衣服需要放水,倒洗衣…

PCL点云库(2) — IO模块

目录 2.1 IO模块接口 2.2 PCD数据读写 (1) PCD数据解析 (2)PCD文件读写示例 2.3 PLY数据读写 (1)PLY数据解析 (2)PLY文件读写示例 2.4 OBJ数据读写 (1&#xff…

QMS-云质说质量 - 10 我和我的客户投诉(2) - 客户逐利 驱除良币

云质QMS原创 转载请注明来源 作者:王洪石 上策伐谋 中策伐交 前面发过一篇关于客户投诉的文章“逢年过节要祈祷”,引起了很多质量人的共鸣,特别是汽车零部件行业曾经和正在负责客诉的质量同行们。 真实的产品质量问题,是否发生只…