[发明专利]执行语句的方法、装置、服务器及存储介质在审
申请号: | 201910760166.6 | 申请日: | 2019-08-16 |
公开(公告)号: | CN112395307A | 公开(公告)日: | 2021-02-23 |
发明(设计)人: | 徐鹏;郭寿敏 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455;G06F16/242;G06F16/28 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 颜晶 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 执行 语句 方法 装置 服务器 存储 介质 | ||
本申请公开了一种执行语句的方法、装置、服务器及存储介质,属于大数据技术领域。所述方法包括:多个任务包括的SQL语句并行执行,多个任务中的每个任务包括的SQL语句串行执行,多个任务中的一个任务为第一任务。获取新的多条SQL语句,新的多条SQL语句中的每条SQL语句依次为目标SQL语句。在目标SQL语句属于第一任务关联的事务时,将目标SQL语句添加至第一任务中。采用本申请,可以提高执行SQL语句的效率。
技术领域
本申请涉及大数据技术领域,特别涉及一种执行语句的方法、装置、服务器及存储介质。
背景技术
在数据库(如关系型数据库等)中,常会运行外部的结构化查询语言(structuredquery language,SQL)语句来操作数据库。一般是通过某些工具,将多条SQL语句串行或者并行的加载到数据库中进行执行,以实现操作数据库。
相关技术中,通过MySQL导入(MySQL import)工具,将多条SQL语句逐行读入,串行执行SQL语句,以实现操作数据库。
这样,由于所有SQL语句均是串行执行,所以会导致执行SQL语句的效率比较低。
发明内容
为了解决执行SQL语句的效率比较低的问题,本申请提供了一种执行语句的方法、装置、服务器及存储介质。
第一方面,本申请提供了一种执行语句的方法。在该所述方法中,多个任务包括的SQL语句并行执行,所述多个任务中的每个任务包括的SQL语句串行执行,所述多个任务中的一个任务为第一任务。服务器获取新的多条SQL语句,所述新的多条SQL语句中的每条SQL语句依次为目标SQL语句。在所述目标SQL语句属于所述第一任务关联的事务时,服务器将所述目标SQL语句添加至所述第一任务中。
本申请所示的方案,在服务器获取到新的多条SQL语句时,要执行这多条SQL语句,服务器可以在多条SQL语句中依次解析得到每一条SQL语句,将每一条SQL语句依次称为是目标SQL语句。然后服务器可以判断多个任务中是否关联有目标SQL语句所属的事务,在第一任务关联有目标SQL语句所属的事务时,服务器可以将目标SQL语句添加至第一任务,并且设置在当前第一任务中的所有SQL语句的最后面。这样,属于同一事务的SQL语句添加到一个任务中。另外,由于不同任务的SQL语句可以并行执行,而不是所有的SQL语句都串行执行,所以可以提高执行SQL语句的效率。
在第一方面的一种可能的实现方式中,在该所述方法中,在所述目标SQL语句不属于所述多个任务关联的任一事务时,服务器获取所述目标SQL语句的元数据信息。在第二任务包括元数据信息与所述目标SQL语句的元数据信息相同的SQL语句时,服务器将所述目标SQL语句添加至所述第二任务中,所述第二任务为所述多个任务中的一个任务。
其中,对于任一SQL语句,元数据信息可以表征该SQL语句所要操作的数据库对象,或者在操作过程使用到的数据库对象。元数据信息可以包括数据库名、表名、列名(也可以称为字段名),可选地,该元数据信息可以包括该数据库名、该表名、该列名、外键名、索引名和函数名等。该数据名用于指示所要操作的数据库的名称。该表名用于指示SQL语句所操作的数据表的名称。该列名用于指示SQL语句所操作的对象所在的列。该外键名指与数据表关联的数据表的主键名。该索引名指示SQL语句所操作的对象的索引。
本申请所示的方案,在任一任务中均未关联目标SQL语句所属的事务时,服务器可以获取目标SQL语句的元数据信息。然后服务器在多个任务中,确定是否包括元数据信息与目标SQL语句的元数据信息相同的SQL语句。在第二任务包括元数据信息与目标SQL语句的元数据信息相同的SQL语句时,服务器可以将目标SQL语句添加至第二任务中,并设置在当前第二任务中所有SQL语句的最后面。这样,对于操作对象相同的SQL语句,设置在同一任务中串行执行,可以尽可能的保证执行同一SQL语句时执行结果相同。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910760166.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种资源传输方法、终端和网络设备
- 下一篇:换电移动装置