买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种通过创建内部临时表索引提高start with查询性能的方法_天津南大通用数据技术股份有限公司_201911361506.4 

申请/专利权人:天津南大通用数据技术股份有限公司

申请日:2019-12-25

公开(公告)日:2023-08-08

公开(公告)号:CN111078734B

主分类号:G06F16/2453

分类号:G06F16/2453

优先权:

专利状态码:有效-授权

法律状态:2023.08.08#授权;2020.05.22#实质审查的生效;2020.04.28#公开

摘要:本发明提供一种通过创建内部临时表索引提高startwith查询性能的方法,将查询中from的子句的多表关联操作变为内部临时表;对临时表进行扫描,取出符合条件的数据,并且使临时表可重复使用;创建栈表,将上一步中符合条件的数据放入栈表内;对该栈表进行扫描,出栈一条数据;对临时表进行扫描;将上两步的扫描结果进行汇合,得到符合下一个条件的数据;重复以上三步,至栈表为空;重复以上步骤至所有条件过滤完成,结果集中的数据即为最终结果。该发明的有益效果是:通过添加hint开关,使查询期间内部临时表可复用,通过修正优化模块,使优化器采用自动索引查询,进而能够通过创建内部临时表的方法,优化startwith的执行性能,提高运行速率,快速得到运行结果。

主权项:1.一种通过创建内部临时表索引提高startwith查询性能的方法,其特征在于,包括以下步骤:S1.在对多个条件进行筛选时,将查询中from的子句的多表关联操作变为内部临时表x1、x2;S2.对内部临时表x1进行扫描,取出符合一个条件的数据,并使内部临时表可重复使用;S3.创建栈表,将步骤S2中符合条件的结果集放入栈表内;S4.对该栈表进行扫描,出栈一条数据;S5.对内部临时表x2进行扫描;S6.将步骤S4和步骤S5的扫描结果进行汇合,得到符合下一个条件的数据,并将结果同时放入到该栈表和结果集中;S7.重复步骤S4至S6,直至该临时栈表为空;S8.对步骤S2和步骤S7的结果进行unionall操作,返回最终结果集;在startwith前增加hint开关或jdbc连接串开关,使语法解析模块添加CB复用内部临时表的标记,优化器添加自动索引标记,执行器添加临时表复用标记;根据hint开关在优化器添加的自动索引标记,设定自动索引为可用和动态标记;在优化器中强制设定自动索引的执行代价低于hashjoin的代价;在创建内部临时表的过程中,根据优化器的设定动态创建临时索引。

全文数据:

权利要求:

百度查询: 天津南大通用数据技术股份有限公司 一种通过创建内部临时表索引提高start with查询性能的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。