1 .一种数据库操作指令的执行计划演进方法,包括:
接收数据库操作指令;
针对所述数据库操作指令,若生成新执行计划,则获取其他的已有执行计划;
对所述新执行计划和所述其他的已有执行计划进行分组,得到第一分组和第二分组,
第一分组中为已验证通过的执行计划,第二分组中为已验证通过的执行计划和待验证的执
行计划;所述待验证的执行计划包括所述新执行计划;
获取匹配于所述数据库操作指令的流量,并按照设定的流量划分比例划分给所述第一
分组和所述第二分组,以按照分组内预估的最优执行计划处理流量;所述流量指相同或者
不同用户所发送的多个数据库操作指令;
根据流量处理时所述待验证的执行计划的实际性能表现,调整所述流量划分比例,并
根据所述流量划分比例的变化情况,判定所述待验证的执行计划是否通过验证。
2.如权利要求1所述的方法,所述获取其他的已有执行计划,具体包括:
获取预先为其他的已有执行计划生成的复现信息;
根据所述复现信息,确定所述新执行计划未包含在所述其他的已有执行计划中;
根据所述复现信息,生成所述其他的已有执行计划。
3 .如权利要求1所述的方法,所述数据库操作指令包括结构化查询语言SQL语句,所述
获取匹配于所述数据库操作指令的流量,具体包括:
确定所述数据库操作指令采用的SQL语句模板;
获取采用该SQL语句模板的指定数量的数据库操作指令的流量。
4 .如权利要求1所述的方法,所述根据流量处理时所述待验证的执行计划的实际性能
表现,调整所述流量划分比例,具体包括:
若预估所述待验证的执行计划为最优执行计划,则记录所述待验证的执行计划处理流
量时的实际性能表现,以及记录预估的所述第一分组中的最优执行计划处理流量时的实际
性能表现;
根据所记录的信息进行综合比较,通过所述综合比较,若判定所述待验证的执行计划
的实际性能表现优于预估的所述第一分组中的最优执行计划的实际性能表现,则增加向所
述第二分组划分流量的比例。
5 .如权利要求4所述的方法,所述根据所述流量划分比例的变化情况,判定所述待验证
的执行计划是否通过验证,具体包括:
若向所述第二分组划分流量的比例达到设定阈值,则判定所述待验证的执行计划通过
验证,其中,所述设定比例的调整执行一次或者迭代执行多次。
6 .一种数据库操作指令的执行计划演进方法,包括:
获取数据库操作指令对应的各已有执行计划;
对所述各已有执行计划进行分组,得到第一分组和第二分组,第一分组中为已验证通
过的执行计划,第二分组中为已验证通过的执行计划和待验证的执行计划;所述待验证的
执行计划包括所述新执行计划;
获取匹配于所述数据库操作指令的流量,并按照设定的流量划分比例划分给所述第一
分组和所述第二分组,以按照分组内预估的最优执行计划处理流量;所述流量指相同或者
不同用户所发送的多个数据库操作指令;
权 利 要 求 书
1/3 页
2
评论