【技术实现步骤摘要】
远程数据库对象的优化方法、装置、设备及存储介质
本专利技术实施例涉及数据库
,尤其涉及一种远程数据库对象的优化方法、装置、设备及存储介质。
技术介绍
数据库链接(DataBaseLink)简称为DBLINK,它记录了远程数据库的连接和路径信息,用于建立本地数据库与远程数据库的联系。当通过DBLINK访问的远程数据库对象对应的远程数据网络传输量过于庞大,则会严重影响本地数据库中结构化查询语言(StructuredQueryLanguage,SQL)的执行效率。目前针对原始SQL、子SQL、视图这种可以独立执行的SQL中远程数据库对象的一种优化方法为:(1)如果原始SQL有且只涉及一个远程数据库的数据库对象(即不包含本地数据库或其它远程数据库的数据库对象),则将原始SQL直接发送到对应的远程数据库执行,本地数据库负责接收对应远程数据库返回的远程数据并向上传递,最终输出给用户;(2)不满足第一种情况时,如果原始SQL的子SQL有且只涉及一个远程数据库,则将子SQL(子SQL可以作为原始SQL的任意组成部分)发送到指定 ...
【技术保护点】
1.一种远程数据库对象的优化方法,其特征在于,包括:/n基于解析目标结构化查询语言SQL语句所得的各个语法项,结合预设的标识变量,得到所述目标SQL语句对应的优化SQL语句;/n基于所述优化SQL语句得到所述目标SQL语句对应的目标执行计划,所述目标执行计划用于指示将所述优化SQL语句发送至所述标识变量对应的远程数据库节点执行;/n执行所述目标执行计划,以优化所述远程数据库节点的网络数据传输量。/n
【技术特征摘要】
1.一种远程数据库对象的优化方法,其特征在于,包括:
基于解析目标结构化查询语言SQL语句所得的各个语法项,结合预设的标识变量,得到所述目标SQL语句对应的优化SQL语句;
基于所述优化SQL语句得到所述目标SQL语句对应的目标执行计划,所述目标执行计划用于指示将所述优化SQL语句发送至所述标识变量对应的远程数据库节点执行;
执行所述目标执行计划,以优化所述远程数据库节点的网络数据传输量。
2.根据权利要求1所述的方法,其特征在于,所述标识变量的变量值为所述目标SQL语句中目标远程数据库对象所属远程数据库的标识号ID;在结合预设的标识变量,得到所述目标SQL语句对应的优化SQL语句之前,还包括:
将所述标识变量初始化为空。
3.根据权利要求2所述的方法,其特征在于,所述基于解析目标SQL语句所得的各个语法项,结合预设的标识变量,得到所述目标SQL语句对应的优化SQL语句,包括:
解析目标SQL语句,得到所述目标SQL语句对应的第一语法项和第二语法项,其中,所述第一语法项为所述目标SQL语句中第一个被执行的语法项,所述第二语法项为所述目标SQL语句中除所述第一语法项以外的其他语法项;
依次检查所述第一语法项包含的所有第一待查询对象,并基于各所述第一待查询对象和所述标识变量的当前变量值确定所述标识变量对应的目标变量值;
依次检查所述第二语法项包含的所有第二待查询对象,并基于各所述第二待查询对象和所述目标变量值确定所述目标SQL语句包含的至少一个扩展优化对象;
基于各所述扩展优化对象,结合各所述语法项,得到所述目标SQL语句对应的优化SQL语句。
4.根据权利要求3所述的方法,其特征在于,所述基于各所述第一待查询对象和所述标识变量的当前变量值确定所述标识变量对应的目标变量值,包括:
针对每个第一待查询对象,当所述第一待查询对象为远程数据库对象时,确定所述标识变量的当前变量值;否则,结束优化;
若所述当前变量值为空,则将所述第一待查询对象确定为所述目标SQL语句中的目标远程数据库对象,并将所述目标远程数据库对象所属远程数据库的ID确定为所述标识变量的目标变量值;
若所述当前变量值非空,且所述第一待查询对象属于所述当前变量值指示的远程数据库,则将所述第一待查询对象确定为所述目标SQL语句中的目标远程数据库对象,并将所述当前变量值确定为所述标识变量对应的目标变量值。
5.根据权利要求3所述的方法,所述基于各所述第二待查询对象和所述目标变量值确定所述目标SQL语句包含的至少一个扩展优化对象,包括:
针对每个第二待...
【专利技术属性】
技术研发人员:望声宜,朱仲颖,韩朱忠,
申请(专利权)人:上海达梦数据库有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。