1 .一种查询计划生成方法,其特征在于,包括:
通过连接限制空间对查询语句中各个表之间的连接算法进行连接限制,并基于所述连
接限制逐步对所述查询语句中的所有表进行连接操作,每一步所述连接操作得到一个部分
查询计划;
改变一步或多步所述连接操作中各表之间的连接顺序和/或连接算法,得到与各步所
述连接操作相对应的多个不同的所述部分查询计划;
通过价值函数模型对各步的所述部分查询计划的执行代价进行评估,并基于各步连接
操作中执行代价最小的部分查询计划确定最终完整查计划。
2.根据权利要求1所述的方法,其特征在于,其中,所述连接限制至少包括以下之一:不
限制连接、禁止嵌套循环连接、禁止排序合并连接和禁止散列连接。
3.根据权利要求1所述的方法,其特征在于,基于所述连接限制逐步对所述查询语句中
的所有表进行连接操作,包括:
每一步中进行一次连接操作,其中,每一步的所述连接操作包括以下之一:
从所述所有表中选择任意两个表进行连接,得到一个多表连接结果;
选择任意两个之前步骤中得到所述多表连接结果进行连接;
选择任意一个未连接的所述表与任一之前步骤中得到的所述多表连接结果进行连接。
4 .根据权利要求1所述的方法,其特征在于,通过价值函数模型对各步的所述部分查询
计划的执行代价进行评估之前,所述方法还包括:
对所述查询语句中的各个表进行向量化表示。
5.根据权利要求4所述的方法,其特征在于,通过价值函数模型对各步的所述部分查询
计划的执行代价进行评估,包括:
将所述各个表的向量化表示和各步连接操作中的部分查询计划作为所述价值函数模
型的输入,通过所述价值函数模型对所述部分查询计划进行执行代价评估;
基于对所述各部分查询计划的执行代价评估,对与所述部分查询计划相对应的完整查
询计划进行评估。
6.根据权利要求3所述的方法,其特征在于,基于各步连接操作中执行代价最小的部分
查询计划确定最终完整查询计划,包括:
基于所述价值函数模型对各步的所述部分查询计划的执行代价评估,在每一步连接操
作中,从该步的所述部分查询计划中选出多个满足执行代价条件的所述部分查询计划;
基于当前步中的满足执行代价条件的所述部分查询计划,通过ε‑集束搜索算法的探索
分支和利用分支,对下一步的部分查询计划进行预测;
选出预测的满足所述执行代价条件的多个下一步部分查询计划,以用于下一步中的部
分查询计划预测。
7 .根据权利要求6所述的方法,其特征在于,其中,在所述下一步中的部分查询计划预
测中,
所述探索分支所探索的部分查询计划包括:从上一步的部分查询计划预测中的探索分
支所探索的所有部分查询计划,以及上一步的部分查询计划预测中的利用分支所利用的一
个或多个所述部分查询计划中,选择多个满足执行代价条件的部分查询计划;所述利用分
支所利用的部分查询计划包括:上一步的部分查询计划预测中的利用分支所利用的部分查
权 利 要 求 书
1/2 页
2
评论