说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211153505.2 (22)申请日 2022.09.21 (71)申请人 北京人大金仓信息技 术股份有限公 司 地址 100102 北京市朝阳区容达路7号院5 号楼1至3层101内二层201 (72)发明人 范国腾  (74)专利代理 机构 北京智汇东方知识产权代理 事务所(普通 合伙) 11391 专利代理师 刘长江 (51)Int.Cl. G06F 16/2453(2019.01) G06F 16/2455(2019.01) G06F 16/242(2019.01) (54)发明名称 数据库连接操作的优化方法、 存储介质与计 算机设备 (57)摘要 本发明提供了一种数据库连接操作的优化 方法、 存储介质与计算机设备。 其中上述方法包 括: 由优化器启动对连接操作的优化; 判断参与 连接操作的两侧子表是否满足预设优化条件; 若 是, 按照预设的连接顺序以及连接方式创建备选 计划; 将备选计划加入执行计划备选队列, 由优 化器从执行计划备选队列中挑选实际执行计划。 本发明的方案, 通过针对性地优化提高连接操作 的执行效率, 可以降低连接查询的执行复杂度, 节省连接操作的执 行时间。 权利要求书1页 说明书8页 附图6页 CN 115481148 A 2022.12.16 CN 115481148 A 1.一种数据库连接操作的优化方法, 包括: 由优化器启动对连接操作的优化; 判断参与所述连接操作的两侧子表是否满足预设优化条件; 若是, 按照预设的连接顺序以及连接方式创建备选计划; 将所述备选计划加入执行计划备选队列, 由所述优化器从所述执行计划备选队列中挑 选实际执 行计划。 2.根据权利要求1所述的数据库连接操作的优化方法, 其中, 所述两侧子表包括第一子表以及第二子表, 并且 所述优化条件包括: 所述第一子表的预估返回行数小于预设的基数估计门限值, 并且 所述第二子表包 含子查询并且预估的执 行代价大于预设的执 行代价门限值。 3.根据权利要求2所述的数据库 连接操作的优化方法, 其中, 由所述优化器从所述执行 计划备选队列中挑选实际执 行计划的步骤 包括: 对所述执行计划备选队列中的执行计划分别计算连接代价, 挑选连接代价最小的一个 作为所述实际执 行计划。 4.根据权利要求3所述的数据库 连接操作的优化方法, 其中, 创建出的所述备选计划的 连接代价 为以下代价的之和: 对所述第一子表进行扫描代价; 对所述第一子表的扫描返回数据进行物化并建立缓存的代价; 将所述第一子表的扫描返回数据添加为第二子表的子查询的过滤条件后执行所述子 查询的执 行代价; 以所述第二子表的子查询的返回数据作为外表, 缓存的所述第 一子表的扫描返回数据 作为内表, 进行循环嵌套连接的执 行代价。 5.根据权利要求1所述的数据库 连接操作的优化方法, 其中, 在所述由优化器启动对连 接操作的优化的步骤之后还 包括: 使用所述优化器支持的连接算法对所述连接操作进行枚举, 得到每个所述连接算法对 应的执行计划, 从而形成所述执 行计划备选队列。 6.根据权利要求5所述的数据库 连接操作的优化方法, 其中, 所述优化器支持的连接算 法包括以下任意 一项或多 项: 循环嵌套算法, 哈希连接算法, 排序合并连接算法。 7.根据权利要求1所述的数据库 连接操作的优化方法, 其中, 在所述由所述优化器从所 述执行计划备选队列中挑选实际执 行计划的步骤之后还 包括: 由所述数据库的执 行器执行所述实际执 行计划。 8.根据权利要求1所述的数据库 连接操作的优化方法, 其中, 判断参与 所述连接操作的 两侧子表任一 不满足所述优化条件的情况 下, 还包括: 由所述优化器从枚举得到的所述备选队列中挑选实际执 行计划。 9.一种机器可读存储介质, 其上存储有机器可执行程序, 所述机器可执行程序被处理 器执行时实现根据权利要求1至8任一项所述的数据库连接操作的优化方法。 10.一种计算机设备, 包括存储器、 处理器及存储在所述存储器上并在所述处理器上运 行的机器可执行程序, 并且所述处理器执行所述机器可执行程序时实现根据权利要求 1至8 任一项所述的数据库连接操作的优化方法。权 利 要 求 书 1/1 页 2 CN 115481148 A 2数据库连接操作的优化方 法、 存储介质与计算机设 备 技术领域 [0001]本发明涉及数据库技术, 特别是涉及一种数据库连接操作的优化方法、 存储介质 与计算机设备。 背景技术 [0002]连接查询 是关系数据库 中最主要的查询。 连接是关系数据库模型的主要特点, 也 是其区别于其 他类型数据库系统的一个标志。 [0003]数据库对多个表的连接一般采用基于代价的方法选择连接顺序和连接方式。 这种 基于代价的选择方式的准确性取决于对数据的抽样和代价计算的算法。 现有 数据库产品普 遍采用的连接算法包括循环嵌套, 哈希连接和归并排序连接等。 为了提高连接的效率, 在数 据库执行器也有位图过 滤器等技术来辅助这些 连接算法的执 行。 [0004]然而, 上述连接算法仍然存在进一步优化的空间, 例如对于一个小表T(数据量很 小的一个数据表, 或者子查询或多个表的连接的结果数据量很小的节点)和 一个复杂子查 询Q进行连接的场景, 由于复杂子查询是一个很耗时的操作, 则总的SQL执行时间受复杂子 查询Q的影响会很大。 当复杂的子查询的数据量很大执行时间很长时, 总的查询执行时间受 复杂子查询Q的影响会很大, 现有连接算法选择出的执行计划一般效率较低, 导致整体执行 效率下降。 发明内容 [0005]本发明的一个目的是要至少解决上述任一方面技术问题的数据库连接操作的优 化方法、 存 储介质与计算机设备。 [0006]本发明一个进一 步的目的是节省连接操作的执 行时间。 [0007]本发明另一个进一 步的目的是针对连接操作的场景针对性 地实现效率 提升。 [0008]特别地, 本发明提供了一种数据库连接操作的优化方法, 其包括: [0009]由优化器启动对连接操作的优化; [0010]判断参与连接操作的两侧子表是否满足预设优化条件; [0011]若是, 按照预设的连接顺序以及连接方式创建备选计划; [0012]将备选计划加入执行计划备选队列, 由优化器从执行计划备选队列中挑选实际执 行计划。 [0013]可选地, 两侧子表包括第一子表以及第二子表, 并且优化条件包括: 第一子表的预 估返回行数小于预设的基数估计门限值, 并且第二子表包含子查询并且预估的执行代价大 于预设的执 行代价门限值。 [0014]可选地, 由优化器从执 行计划备选队列中挑选实际执 行计划的步骤 包括: [0015]对执行计划备选队列中的执行计划分别计算连接代价, 挑选连接代价最小的一个 作为实际执 行计划。 [0016]可选地, 创建出的备选计划的连接代价 为以下代价的之和:说 明 书 1/8 页 3 CN 115481148 A 3

.PDF文档 专利 数据库连接操作的优化方法、存储介质与计算机设备

文档预览
中文文档 16 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 数据库连接操作的优化方法、存储介质与计算机设备 第 1 页 专利 数据库连接操作的优化方法、存储介质与计算机设备 第 2 页 专利 数据库连接操作的优化方法、存储介质与计算机设备 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 17:17:47上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。