【技术实现步骤摘要】
一种数据库子事务的性能优化方法
[0001]本专利技术属于数据库
,具体涉及一种数据库子事务的性能优化方法。
技术介绍
[0002]目前,随着去IOE的推进,将Oracle数据库替换成国产数据库的需求越来越多,而Oracle数据库在子事务的处理性能上趋于稳定,而国产数据库在子事务的处理性能上都偏弱。国产数据库中大部分产品(70%以上),都是基于开源数据库PostgreSQL或MySQL进行改造开发,其中基于PostgreSQL的占比较重(6成以上)。
[0003]在PostgreSQL中,数据库事务(transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。数据库事务由事务开始与事务结束之间执行的全部数据库操作组成。子事务是允许回滚部分已经在事务中完成或失败的操作,且不影响该事务后续的操作,保证整个事务被提交或回滚。
[0004]目前,在数据库中,当数据库的子事务数量超过宏定义变量NUM_SUBTRANS_BUFFERS子事务 ...
【技术保护点】
【技术特征摘要】
1.一种数据库子事务的性能优化方法,其特征在于,包括如下步骤:步骤1,查询子事务的父事务号;步骤2,判断父子关系是否存在于本地内存中,当存在时跳转至步骤10,当不存在时执行步骤3;步骤3,查找本进程所有快照中最大的xmin;步骤4,判断共享内存中是否存在父子关系,当不存在时执行步骤6,当存在时执行步骤9;步骤5,获取SubTransCtllock互斥锁;步骤6,从磁盘中读取文件到共享内存;步骤7,释放SubTransCtllock互斥锁;步骤8,复制共享内存和磁盘文件中的事务父子关系到本地内存;步骤9,标记最大的xmin之前的事务可见;步骤10,从本地内存中取出父事务号;步骤1...
【专利技术属性】
技术研发人员:梁博,洪建辉,余秀明,马珊珊,顾颀,许兴旺,张小波,
申请(专利权)人:湖南亚信安慧科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。