【技术实现步骤摘要】
本专利技术涉及opengauss数据库的pl/sql缓存方法,尤其涉及一种基于opengauss数据库的pl/sql全局缓存方法及系统。
技术介绍
1、随着数据库技术的发展,市面上各种数据库层出不穷。许多数据库厂商支持用户通过过程语言非常便利地编写自己的sql函数或存储过程。在opengauss中,提供的过程语言称为pl/sql(plpgsql),通过pl/sql用户可以将一整块计算和一系列查询分组在数据库服务器内部,可以有效防止多轮查询解析,降低了客户端与服务器之间的通信开销,也避免了中间结果的传送。
2、opengauss中对pl/sql程序块的处理流程大致分为两个环节:编译和执行。第一部分是编译,主要任务是对pl/sql程序块进行解释,将其翻译成能被内核能识别的变量、命名空间、以及语法树;第二部分是执行,根据编译得到的语法树进行执行。显而易见,语句块越复杂,涉及的函数越多,编译过程耗时越长。为了加速pl/sql的执行,opengauss提供了会话级的编译缓存,将pl/sql定义的函数或存储过程的编译产物保留在会话内存中
...【技术保护点】
1.一种基于openGauss数据库的PL/SQL全局缓存方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于openGauss数据库的PL/SQL全局缓存方法,其特征在于,本方法在找不到会话级缓存时,将全局缓存作为二级缓存嵌入到PL/SQL的编译流程中;在本方法中:
3.根据权利要求2所述的基于openGauss数据库的PL/SQL全局缓存方法,其特征在于,本方法中缓存项的状态转移过程如下:
4.根据权利要求1所述的基于openGauss数据库的PL/SQL全局缓存方法,其特征在于,步骤S1中所述的全局缓存项中包含以下信
...【技术特征摘要】
1.一种基于opengauss数据库的pl/sql全局缓存方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于opengauss数据库的pl/sql全局缓存方法,其特征在于,本方法在找不到会话级缓存时,将全局缓存作为二级缓存嵌入到pl/sql的编译流程中;在本方法中:
3.根据权利要求2所述的基于opengauss数据库的pl/sql全局缓存方法,其特征在于,本方法中缓存项的状态转移过程如下:
4.根据权利要求1所述的基于opengauss数据库的pl/sql全局缓存方法,其特征在于,步骤s1中所述的全局缓存项中包含以下信息:pl/sql编译后获得的存储过程的语法树、缓存的数据类型、缓存项中的数据、缓存项的状态信息、系统表元信息。
5.根据权利要求1所述的基于opengauss数据库的pl/sql全局缓存方法,其特征在于,步骤s1中所述的全局缓存表用于管理所有的全局缓存项,全局缓存表存储所有pl/sql中函数和包编译的结果,所有线程共享;全局缓存表中...
【专利技术属性】
技术研发人员:曾祥鑫,苏章艳,
申请(专利权)人:广州海量数据库技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。