System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及电数字数据处理,具体涉及一种数据库操作语句的优化方法和优化系统。
技术介绍
1、数据库操作语句,也称为sql语句,是基于数据库操作语言的操作语句,可以应用到关系型数据库中。慢速执行的sql语句(简称为“慢sql”)是一个普遍存在的问题,它对系统性能和用户体验产生显著的负面影响。
2、要有效地解决慢sql问题,首先需要从海量的数据库查询中准确地提取出执行缓慢的sql。传统上,这一任务主要依赖于在代码中埋点的方式来实现,但这种方法操作繁琐、侵入性强,且对系统性能有一定影响。其次,成功识别出慢sql后,对慢sql进行优化,而优化慢sql仍然是一个技术难点。复杂的sql往往涉及多表联查、复杂的逻辑判断和数据处理,使得优化工作的成本高昂、且技术要求较高。这也是慢sql普遍存在的原因。
3、因此需要设计一种智能化的数据库操作语句的优化方法和优化系统。
技术实现思路
1、针对现有技术中存在的上述技术问题,本专利技术提供一种数据库操作语句的优化方法和优化系统,基于ebpf识别慢sql,并基于人工智能生成优化的sql语句,可实现慢sql的快速识别和优化。
2、本专利技术公开了一种数据库操作语句的优化方法,包括以下步骤:步骤101:基于ebpf探针,监听数据库操作语句的执行数据;步骤102:根据所述执行数据从所述数据库操作语句中筛选执行耗时大于第一阈值的第一语句;步骤103:基于大语言模型对所述第一语句进行优化,获得第二语句、以及第一语句存在的问题;步
3、优选的,若第二语句的执行效率不大于第一语句的执行效率,执行步骤103。
4、优选的,若第二语句的执行效率大于第一语句的执行效率,利用第二语句替换第一语句。
5、优选的,所述大语言模型包括以下任一模型:chatgpt、codex和llama。
6、优选的,基于chatgpt对所述第一语句进行检测和优化的方法包括:
7、给chatgpt设定角色:是一个专业的数据库管理员,擅长mysql数据sql优化;
8、设定问题和答复的方式:请根据输入的sql语句,按下述步骤给出分析结果,请以answer中要求的json格式输出;请你解析sql,如果sql中存在语法错误,返回status为0;如果sql可以执行但是已最优,请返回status为1;如果sql可以执行但是有优化空间,请返回status为2,并返回优化后的sql;
9、输入第一语句;
10、获得返回的第二语句。
11、优选的,基于ebpf探针,获得第一语句的方法包括:
12、在数据库或微服务的节点上安装ebpf探针;
13、通过ebpf探针监听tcp端口,并拦截tcp协议数据段;
14、从tcp协议数据段中解析sql查询语句,并获得执行数据,所述执行数据包括发起数据库请求的时间和获取响应的时间;
15、根据发起数据库请求的时间和获取响应的时间,获得执行耗时;
16、从所述数据库操作语句中筛选执行耗时大于第一阈值的第一语句,并将第一语句及其信息发送到用户空间,所述第一语句的信息包括调用链路和执行耗时。
17、优选的,还包括通过消息中间件对第一语句进行处理的方法:
18、从用户空间中监听第一语句及其信息,并将第一语句及其信息发送到消息中间件;
19、将消息中间件的信息保存到关系型数据库中。
20、优选的,通过页面展示第一语句及其信息、以及第二语句。
21、本专利技术还提供一种用于实现上述优化方法的优化系统,包括监测模块、语句优化模块和性能检测模块,
22、所述监测模块用于基于ebpf探针,监听数据库操作语句的执行数据;根据所述执行数据从所述数据库操作语句中筛选执行耗时大于第一阈值的第一语句;
23、所述语句优化模块用于基于大语言模型对所述第一语句进行优化,获得第二语句、以及第一语句存在的问题;
24、所述性能检测模块用于对第一语句和第二语句进行对比测试;若第二语句的执行效率大于第一语句的执行效率,输出或展示第二语句。
25、优选的,若第二语句的执行效率不大于第一语句的执行效率,调用语句优化模块对第一语句进行重新优化。
26、与现有技术相比,本专利技术的有益效果为:基于ebpf和大语言模型,以无侵入的方式对数据库操作语句进行检测和优化,提高了数据库操作语句优化的效率,提高数据库操作的效率和应用的性能;利于实现数据库操作语句优化的自动化;通过对比测试确保优化后语句的可用性和正确性,开发者可放心使用优化后的语句替换原始语句;减少数据库操作语句优化的技术难度和技术需求,数据库维护者能够持续的优化系统性能,从而节省人力资源成本;可快速响应和处理慢数据库操作语句问题,缩短了问题诊断和解决的时间周期。
本文档来自技高网...【技术保护点】
1.一种数据库操作语句的优化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的优化方法,其特征在于,若第二语句的执行效率不大于第一语句的执行效率,执行步骤103。
3.根据权利要求1所述的优化方法,其特征在于,若第二语句的执行效率大于第一语句的执行效率,利用第二语句替换第一语句。
4.根据权利要求1所述的优化方法,其特征在于,所述大语言模型包括以下任一模型:ChatGPT、Codex和LLaMa。
5.根据权利要求4所述的优化方法,其特征在于,基于ChatGPT对所述第一语句进行检测和优化的方法包括:
6.根据权利要求1所述的优化方法,其特征在于,基于eBPF探针,获得第一语句的方法包括:
7.根据权利要求6所述的优化方法,其特征在于,还包括通过消息中间件对第一语句进行处理的方法:
8.根据权利要求7述的优化方法,其特征在于,通过页面展示第一语句及其信息、以及第二语句。
9.一种优化系统,其特征在于,用于实现如权利要求1-8任一项所述的优化方法,所述优化系统包括监测模块、语句优
10.根据权利要求9所述的优化系统,若第二语句的执行效率不大于第一语句的执行效率,调用语句优化模块对第一语句进行重新优化。
...【技术特征摘要】
1.一种数据库操作语句的优化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的优化方法,其特征在于,若第二语句的执行效率不大于第一语句的执行效率,执行步骤103。
3.根据权利要求1所述的优化方法,其特征在于,若第二语句的执行效率大于第一语句的执行效率,利用第二语句替换第一语句。
4.根据权利要求1所述的优化方法,其特征在于,所述大语言模型包括以下任一模型:chatgpt、codex和llama。
5.根据权利要求4所述的优化方法,其特征在于,基于chatgpt对所述第一语句进行检测和优化的方法包括:
...
【专利技术属性】
技术研发人员:高家祺,蒋玉芳,林科,陶春龙,房顺,王翱宇,
申请(专利权)人:杭州谐云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。