1 .一种数据库操作语句的处理方法,包括:
获取所述数据库操作语句;
判断所述数据库操作语句是否包含去重关键词;
若是,则判断所述数据库操作语句是否符合预设优化条件,所述预设优化条件为消除
所述去重关键词所需的条件;
在所述数据库操作语句不符合预设优化条件的情况下,分别为所述数据库操作语句创
建串行路径和并行路径,其中所述并行路径用于配置多个并行线程以及一汇总线程,所述
并行线程用于并行处理所述数据库操作语句中去重操作以外的其他操作,所述汇总线程用
于对所述并行线程的执行结果进行汇总之后进行去重操作;
判断执行所述并行路径所需的并行代价是否小于执行所述串行路径所需的串行代价;
若是,选择所述并行路径作为所述数据库操作语句的执行路径。
2 .根据权利要求1所述的数据库操作语句的处理方法,其中,
所述为所述数据库操作语句创建并行路径的步骤包括:
确定所述并行路径对应的并行度;
根据所述并行度建立相同数目的所述并行线程以及一所述汇总线程。
3 .根据权利要求2所述的数据库操作语句的处理方法,其中,
所述判断所述执行所述并行路径所需的并行代价是否小于执行所述串行路径所需的
串行代价的步骤之前包括:估算执行所述串行路径所需的串行代价以及执行所述并行路径
所需的并行代价;
所述估算执行所述串行路径所需的串行代价的步骤包括:根据所述数据库操作语句确
定去重过程中待执行的操作类型、待操作的数据列以及所述数据列对应的数据表;通过所
述待执行的操作类型、所述待操作的数据列以及所述数据列对应的数据表确定待执行的数
据量以及操作复杂度;根据所述数据量以及操作复杂度计算得到所述串行代价。
4 .根据权利要求3所述的数据库操作语句的处理方法,其中,
所述估算执行所述并行路径所需的并行代价的步骤包括:
根据所述数据库操作语句确定去重过程中待执行的操作类型、待操作的数据列以及所
述数据列对应的数据表;
通过所述待执行的操作类型、所述待操作的数据列以及所述数据列对应的数据表确定
待执行的数据量以及操作复杂度;
根据所述数据量以及操作复杂度结合所述并行度计算得到执行所述并行线程对应的
并行线程代价以及执行所述汇总线程对应的汇总线程代价;
将所述并行线程代价和所述汇总线程代价合并作为所述并行代价。
5 .根据权利要求1所述的数据库操作语句的处理方法,其中,
所述判断所述数据库操作语句是否符合预设优化条件的步骤包括:
确定所述数据库操作语句中所述去重关键词操作的数据列以及所述数据列对应的数
据表;
逐列判断所述数据列在对应的所述数据表中是否符合非空性条件以及唯一性条件;
在全部所述数据列在对应的所述数据表中均符合所述非空性条件以及所述唯一性条
件的情况下,判定所述数据库操作语句符合所述预设优化条件。
权 利 要 求 书
1/2 页
2
评论