[发明专利]一种通过创建内部临时表索引提高start with查询性能的方法有效
申请号: | 201911361506.4 | 申请日: | 2019-12-25 |
公开(公告)号: | CN111078734B | 公开(公告)日: | 2023-08-08 |
发明(设计)人: | 侯欣;陈文亭;王雪松;吕迅;王志 | 申请(专利权)人: | 天津南大通用数据技术股份有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453 |
代理公司: | 天津滨海科纬知识产权代理有限公司 12211 | 代理人: | 耿树志 |
地址: | 300384 天津市滨海新区高新区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 创建 内部 临时 索引 提高 start with 查询 性能 方法 | ||
1.一种通过创建内部临时表索引提高start with查询性能的方法,其特征在于,包括以下步骤:
S1.在对多个条件进行筛选时,将查询中from的子句的多表关联操作变为内部临时表x1、x2;
S2.对内部临时表x1进行扫描,取出符合一个条件的数据,并使内部临时表可重复使用;
S3.创建栈表,将步骤S2中符合条件的结果集放入栈表内;
S4.对该栈表进行扫描,出栈一条数据;
S5.对内部临时表x2进行扫描;
S6.将步骤S4和步骤S5的扫描结果进行汇合,得到符合下一个条件的数据,并将结果同时放入到该栈表和结果集中;
S7.重复步骤S4至S6,直至该临时栈表为空;
S8.对步骤S2和步骤S7的结果进行unionall操作,返回最终结果集;
在start with前增加hint开关或jdbc连接串开关,使语法解析模块添加CB复用内部临时表的标记,优化器添加自动索引标记,执行器添加临时表复用标记;
根据hint开关在优化器添加的自动索引标记,设定自动索引为可用和动态标记;
在优化器中强制设定自动索引的执行代价低于hash join的代价;
在创建内部临时表的过程中,根据优化器的设定动态创建临时索引。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津南大通用数据技术股份有限公司,未经天津南大通用数据技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911361506.4/1.html,转载请声明来源钻瓜专利网。