一种SQL语句执行方法及装置与流程

文档序号:36618698发布日期:2024-01-06 23:15阅读:15来源:国知局
一种SQL语句执行方法及装置与流程

本申请涉及数据库,尤其涉及一种sql语句执行方法、装置、电子设备及机器可读存储介质。


背景技术:

1、结构化查询语言(structured query language,sql)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理数据库系统。在数据库系统中,sql语句的执行过程通常包括查询解析、执行计划生成和执行等步骤。其中,sql语句执行计划的生成是sql语句执行效率优化的关键所在。

2、传统的sql语句执行计划是在sql语句执行之前固定生成的,然而,在很多情况下由于各种原因,该固定生成的执行计划可能并不适合当前的sql语句,导致sql语句的执行效率下降,进而影响数据库的整体性能。


技术实现思路

1、第一方面,本申请提供了一种sql语句执行方法,包括:

2、获取待执行的目标sql语句,并解析所述目标sql语句;

3、基于解析结果确定所述目标sql语句的语句类型,并从预先构建的执行计划库中选择出与所述目标sql语句的语句类型相匹配的目标执行计划;所述执行计划库中包含与多种语句类型对应的多个执行计划;

4、基于所述目标执行计划,执行所述目标sql语句。

5、可选的,所述方法还包括:

6、基于已执行的多个历史sql语句的执行信息,构建所述执行计划库;所述执行信息包括历史sql语句的执行计划和历史sql语句的语句类型。

7、可选的,所述目标sql语句的语句类型包括所述目标sql语句所执行的数据操作的操作类型;其中,所述操作类型包括数据插入操作、数据删除操作、数据更改操作和数据查询操作中的任意一种。

8、可选的,所述目标sql语句为数据查询语句,所述目标sql语句的语句类型包括与数据查询操作对应的查询类型;其中,所述查询类型包括全表查询、字段查询、单表查询和数据表关联查询中的任意一种。

9、可选的,所述基于所述目标执行计划,执行所述目标sql语句,包括:

10、基于所述目标执行计划,执行所述目标sql语句,并在执行过程中,基于所述目标sql语句的执行情况,实时调整所述目标执行计划中的执行参数。

11、可选的,所述基于所述目标sql语句的执行情况,实时调整所述目标执行计划中的执行参数,包括:

12、基于所述目标sql语句执行过程中的cpu负载情况,实时调整所述目标执行计划中的执行参数;所述执行参数包括执行计划中的并行度、数据排序方式和缓存大小中的一个或多个。

13、可选的,所述目标sql语句为数据查询语句,所述基于所述目标sql语句的执行情况,实时调整所述目标执行计划中的执行参数,包括:

14、基于所述目标sql语句的查询类型、所述目标sql语句针对的待查询数据的数据量和分布方式中的任意一个或多个,实时调整所述目标执行计划中的执行参数;所述执行参数包括执行计划中的扫描方式和/或索引。

15、可选的,所述方法还包括:

16、响应于所述目标sql语句执行完成,将调整后的所述目标执行计划保存至所述执行计划库中。

17、第二方面,本申请提供了一种sql语句执行装置,包括:

18、语句解析单元,用于获取待执行的目标sql语句,并解析所述目标sql语句;

19、选择单元,用于基于解析结果确定所述目标sql语句的语句类型,并从预先构建的执行计划库中选择出与所述目标sql语句的语句类型相匹配的目标执行计划;所述执行计划库中包含与多种语句类型对应的多个执行计划;

20、执行单元,用于基于所述目标执行计划,执行所述目标sql语句。

21、本申请还提供了一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

22、所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述第一方面所述的sql语句执行方法。

23、本申请还提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述第一方面所述的sql语句执行方法。

24、本申请提供的技术方案至少可以包括以下有益效果:

25、通过以上实施例,本申请可以预先构建执行计划库,该执行计划库中可以包含与sql语句的多种语句类型对应的多个执行计划。基于此,本申请在获取到待执行的目标sql语句后可以解析该目标sql语句,并基于解析结果确定该目标sql语句的语句类型,进而可以从预先构建的执行计划库中选择出与该目标sql语句的语句类型相匹配的目标执行计划。最后,本申请可以基于选择出的目标执行计划,执行该目标sql语句。如此,本申请通过预先构建执行计划库,实现从执行计划库包含的与多种语句类型对应的多个执行计划中,为当前待执行的sql语句选择合适的执行计划,进而提升sql语句执行效率。

26、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。



技术特征:

1.一种sql语句执行方法,包括:

2.根据权利要求1所述方法,所述方法还包括:

3.根据权利要求1所述方法,所述目标sql语句的语句类型包括所述目标sql语句所执行的数据操作的操作类型;其中,所述操作类型包括数据插入操作、数据删除操作、数据更改操作和数据查询操作中的任意一种。

4.根据权利要求1所述方法,所述目标sql语句为数据查询语句,所述目标sql语句的语句类型包括与数据查询操作对应的查询类型;其中,所述查询类型包括全表查询、字段查询、单表查询和数据表关联查询中的任意一种。

5.根据权利要求1所述方法,所述基于所述目标执行计划,执行所述目标sql语句,包括:

6.根据权利要求5所述方法,所述基于所述目标sql语句的执行情况,实时调整所述目标执行计划中的执行参数,包括:

7.根据权利要求5所述方法,所述目标sql语句为数据查询语句,所述基于所述目标sql语句的执行情况,实时调整所述目标执行计划中的执行参数,包括:

8.根据权利要求5所述的方法,所述方法还包括:

9.一种sql语句执行装置,包括:

10.一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

11.一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至8任一项所述的方法。


技术总结
本说明书提供一种SQL语句执行方法及装置。该方法包括:获取待执行的目标SQL语句,并解析所述目标SQL语句;基于解析结果确定所述目标SQL语句的语句类型,并从预先构建的执行计划库中选择出与所述目标SQL语句的语句类型相匹配的目标执行计划;所述执行计划库中包含与多种语句类型对应的多个执行计划;基于所述目标执行计划,执行所述目标SQL语句。

技术研发人员:方海波
受保护的技术使用者:浙江极氪智能科技有限公司
技术研发日:
技术公布日:2024/1/5
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1