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

【发明公布】一种PostgreSQL预备语句执行优化方法_武汉大学_202010503294.5 

申请/专利权人:武汉大学

申请日:2020-06-05

公开(公告)日:2020-10-20

公开(公告)号:CN111797112A

主分类号:G06F16/242(20190101)

分类号:G06F16/242(20190101);G06F16/2453(20190101)

优先权:

专利状态码:有效-授权

法律状态:2022.04.01#授权;2020.11.06#实质审查的生效;2020.10.20#公开

摘要:本发明公开了一种PostgreSQL预备语句执行优化方法,在方法中提出了缓存预备语句执行过程中的PlanState并重复使用的优化方案。在该优化方案中,当一个预备语句编译执行时,缓存了执行计划后,保存缓存的执行计划被第一次执行时构造的PlanState结构,并在之后的执行中重用保存下来的PlanState,只对结构中部分成员值重新赋值,避免每次执行时重新构造PlanState造成的时间的消耗。该方法通过对PostgreSQL预备语句执行进行优化,从而显著提高了预备语句的执行效率。

主权项:1.一种PostgreSQL预备语句执行优化方法,其特征在于,包括:S1:对执行过程中的相关数据结构进行调整,用以准备执行时需要用的信息,相关数据结构包括执行器状态内存上下文estate_context、全局指针变量、用于预备语句缓存计划的结构体缓存计划CachedPlan以及用于保存查询时需要使用的信息的结构体QueryDesc;S2:对准备阶段的函数PortalStart进行改动,增加预备语句的判断以及计划是否被缓存的判断过程,其中,函数PortalStart用于根据不同的查询类型选择不同的操作,为执行查询准备一个门户;S3:对函数standard_ExecutorStart进行改动,增加执行的是否为一个预备语句的判断以及执行器的状态是否被缓存的判断过程,standard_ExecutorStart函数用于准备一个执行计划;S4:基于S1得到的数据结构、S2得到的PortalStart函数、S3得到的standard_ExecutorStart函数对预备语句进行执行;S5:在预备语句执行之后,通过修改函数PortalCleanup,使得清理过程中,跳过函数ExecutorEnd对estate,planstate和ExecutorState上下文的清理,创建内存上下文estate_context用以保存ExecutorState上下文,其中,函数PortalCleanup为用于门户清理的函数,estate为执行器调用时的工作状态信息,planstate为计划的状态信息、ExecutorState上下文为执行器状态上下文。

全文数据:

权利要求:

百度查询: 武汉大学 一种PostgreSQL预备语句执行优化方法

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