一种基于响应时间的数据库查询优化方法及装置制造方法及图纸

技术编号:38905931 阅读:28 留言:0更新日期:2023-09-22 14:24
本发明专利技术提供了一种基于响应时间的数据库查询优化方法及装置,属于数据库技术领域,该方法如下:根据预设的数据库构建方法构建专用查询响应库;获取SQL查询语句并对SQL查询语句进行语法解析;采用RBO优化算法对解析后的SQL查询语句进行优化;对解析后的SQL查询语句进行特征提取并根据提取的特征查询专用查询响应库,确定响应时间;其中,提取的特征包括:SQL特征类型、SQL特征信息和数据量;根据响应时间和CBO优化算法对RBO优化后的SQL查询语句进行优化。本发明专利技术可以自动对SQL查询语句的特征进行提取,建立特征与响应时间的关系,自动存储到专用查询响应库中,为CBO的代价计算提供准确的依据,从而提升数据库查询优化的能力,降低成本,提高查询效率。提高查询效率。提高查询效率。

【技术实现步骤摘要】
一种基于响应时间的数据库查询优化方法及装置


[0001]本专利技术涉及数据库
,尤其涉及一种基于响应时间的数据库查询优化方法、装置、设备及存储介质。

技术介绍

[0002]随着数据库规模的增大,SQL的执行成本越来越高,优化执行,降低成本成为趋势。当前数据库查询优化普遍的做法是基于规则优化(Rule

Based Optimizer,RBO)或者代价优化(Cost

Based Optimizer,CBO)。
[0003]但是上述方法仍存在如下不足:
[0004]1、RBO是依赖人工制定的一系列规则来选择查询计划,无法根据具体的查询和数据统计信息做优化,且规则维护比较麻烦,需要人工维护大量的优化规则,随着时间推移,规则会越来越复杂导致难以维护;
[0005]2、CBO在收集统计信息时花费代价较高,定期收集完整的信息需要扫描全表,增加了数据库系统的开销。
[0006]3、CBO无法处理某些特殊场景,例如一些计划包含了用户自定义函数,CBO无法判断其具体的计算复杂度,根据CB本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于响应时间的数据库查询优化方法,其特征在于,该方法包括:根据预设的数据库构建方法构建专用查询响应库;获取SQL查询语句并对所述SQL查询语句进行语法解析;采用RBO优化算法对解析后的SQL查询语句进行优化;对解析后的SQL查询语句进行特征提取并根据提取的特征查询所述专用查询响应库,确定响应时间;其中,提取的特征包括:SQL特征类型、SQL特征信息和数据量;根据所述响应时间和CBO优化算法对RBO优化后的SQL查询语句进行优化。2.根据权利要求1所述的基于响应时间的数据库查询优化方法,其特征在于,所述根据预设的数据库构建方法构建专用查询响应库,包括:获取历史SQL查询语句并对所述历史SQL查询语句进行语法解析;采用RBO优化算法对解析后的SQL查询语句进行优化;对解析后的SQL查询语句和RBO优化后的SQL查询语句进行特征提取;其中,所述特征包括:SQL特征类型、SQL特征信息和数据量;采用CBO优化算法对RBO优化后的SQL查询语句进行优化;执行CBO优化后的SQL查询语句确定响应时间;根据所述SQL特征类型、SQL特征信息、数据量和响应时间构建所述专用查询响应库。3.根据权利要求1所述的基于响应时间的数据库查询优化方法,其特征在于,所述获取SQL查询语句并对所述SQL查询语句进行语法解析,包括:根据所述SQL查询语句的算子确定所述SQL特征类型。4.根据权利要求1所述的基于响应时间的数据库查询优化方法,其特征在于,所述根据所述响应时间和CBO优化算法对RBO优化后的SQL查询语句进行优化,包括:根据所述CBO优化算法结合表与索引的规模、行数代价、计算成本、I/O成本和...

【专利技术属性】
技术研发人员:张文霞聂绍平郑文
申请(专利权)人:北京傲韦科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1