[发明专利]一种sql脚本的优化方法及装置在审
申请号: | 202210745416.0 | 申请日: | 2022-06-27 |
公开(公告)号: | CN114996279A | 公开(公告)日: | 2022-09-02 |
发明(设计)人: | 安继贤;李晶;晋晓峰 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06F16/28 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 雷航 |
地址: | 518027 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 脚本 优化 方法 装置 | ||
1.一种sql脚本的优化方法,其特征在于,包括:
在检测到结构化查询语言sql脚本的执行触发动作时,对sql脚本进行拦截,并通过索引映射库,对拦截到的sql脚本进行识别,确定所述sql脚本是否属于具有多索引信息的脚本;所述索引映射库用于指示各sql脚本的哈希值分别与对应的m个索引信息的映射关系;
若确定所述sql脚本属于具有多索引信息的脚本,则基于所述sql脚本对应的多个索引信息以及所述多个索引信息包括的各索引字段具有的区分度,确定用于在执行所述sql脚本时所需的第一索引信息;其中,每个索引字段具有的区分度用于表征该索引字段在对应的索引信息所在的数据库表中,该索引字段具有不同业务数据值的数量占比;
通过基于所述第一索引信息,调整所述sql脚本,生成用于在sql执行引擎中执行的sql脚本。
2.如权利要求1所述的方法,其特征在于,所述通过索引映射库,对拦截到的sql脚本进行识别,确定所述sql脚本是否属于具有多索引信息的脚本,包括:
确定所述sql脚本的第一哈希值;
通过所述sql脚本的第一哈希值,从所述索引映射库中匹配出对应的m个索引信息;
若m个索引信息的数量满足数量阈值,则确定所述sql脚本属于具有多索引信息的脚本;若m个索引信息的数量不满足数量阈值,则确定所述sql脚本不属于具有多索引信息的脚本。
3.如权利要求2所述的方法,其特征在于,所述确定所述sql脚本的第一哈希值,包括:
通过sql参数化模板类函数,将所述sql脚本进行格式化模板提取处理,得到所述sql脚本对应的第一sql模板信息;
对所述第一sql模板信息进行归一化处理,得到第二sql模板信息;
对所述第二sql模板信息进行哈希运算,确定所述sql脚本的第一哈希值。
4.如权利要求3所述的方法,其特征在于,所述对所述第一sql模板信息进行归一化处理,得到第二sql模板信息,包括:
若所述第一sql模板信息中存在有大写格式的字母,则将所述大写格式的字母转化为小写格式的字母,从而得到转化后的第一sql模板信息;
若所述转化后的第一sql模板信息中存在有动态取值信息,则将所述动态取值信息替换为设定的替换值,从而得到所述第二sql模板信息。
5.如权利要求1所述的方法,其特征在于,通过下述方式建立所述索引映射库:
针对任一sql脚本,对所述sql脚本进行分析处理,得到所述sql脚本对应的第三sql模板信息,并对所述第三sql模板信息进行哈希运算,确定所述sql脚本的第二哈希值;
对所述sql脚本进行分词处理,得到所述sql脚本对应的数据源信息以及条件域信息,并对所述sql脚本对应的数据源信息进行数据库表信息提取处理,得到按序排列的各数据库表信息,对所述sql脚本对应的条件域信息进行解析处理,得到按序排列的各条件字段信息;将所述各数据库表信息与所述按序排列的各条件字段信息进行关联,从而生成数据库表条件字段集合;所述数据库表条件字段集合包括按序排列的各数据库表信息以及每个数据库表信息关联的按序排列的至少一个条件字段信息;
针对每个数据库表信息,确定所述数据库表信息对应的数据库,并从所述数据库中获取所述数据库表信息具有的按序排列的各索引信息;其中,每个索引信息包括按序排列的至少一个索引字段信息;
将所述数据库表信息关联的每个条件字段信息与所述数据库表信息具有的按序排列的各索引信息包括的按序排列的至少一个索引字段信息依次进行匹配,并将匹配成功的至少一个索引信息作为用于判断sql脚本是否属于具有多索引信息的脚本的第二索引信息;
将各sql脚本的第二哈希值以及所述各第二哈希值对应的至少一个第二索引信息存储至所述索引映射库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210745416.0/1.html,转载请声明来源钻瓜专利网。