读取数据库数据的方法、设备和计算机程序产品技术

技术编号:43725960 阅读:19 留言:0更新日期:2024-12-20 12:52
本公开的各实施例的目的是提供读取数据库数据的方法、设备和计算机程序产品。数据库包括至少一个表,其中每个表基于分区字段来分区存储;计算机设备获取用户输入的第一SQL查询语句;根据所述第一SQL查询语句对应的表的分区字段,将所述第一SQL查询语句改写为多个第二SQL查询语句,其中,每个所述第二SQL查询语句用于查询一个表分区;并发执行所述多个第二SQL查询语句;合并所述多个第二SQL查询语句的执行结果并返回给所述用户。本公开的各实施例通过将用户输入的第一SQL语句改写为多个第二SQL语句并进行并发执行,能够显著提高数据读取速度,缓解了传统JDBC/ODBC单线程执行的性能瓶颈。

【技术实现步骤摘要】

本公开的各实施例涉及数据存储,尤其涉及一种用于高速读取数据库数据的技术。


技术介绍

1、在现有技术中,数据读取通常采用 jdbc(java database connectivity,java数据库连接)或 odbc(open database connectivity,开放数据库连接)技术,这两者都是常用的数据库访问接口。具体流程是,用户通过应用程序向数据库提交 sql(structuredquery language,结构化查询语言)语句,数据库系统执行这些 sql 语句并返回结果。尽管这种方法能够满足一定的数据读取需求,但存在以下几个明显的缺点:

2、1. 多分区无并行取数导致有性能瓶颈:

3、低效的查询处理:jdbc 和 odbc 技术在处理 sql 查询时,通常无法自动优化查询执行计划。

4、单个取数sql单线程执行:在传统的 jdbc/odbc 模式下,一个sql 查询通常是单线程执行的,这在面对查询的表存在多个分区时,依旧性能低下。

5、2. jdbc/数据库缺乏一些sql的自动优化功能:...

【技术保护点】

1.一种用于读取数据库数据的方法,其中,所述数据库包括至少一个表,其中每个表基于分区字段来分区存储;

2.根据权利要求1所述的方法,其中,所述第一SQL查询语句使用非聚集函数;

3.根据权利要求2所述的方法,其中,所述非聚集函数包括转换类函数;

4.根据权利要求1所述的方法,其中,所述第一SQL查询语句使用聚集函数;

5.根据权利要求1所述的方法,其中,所述第一SQL查询语句中还包括查询条件,当所述查询条件使用函数in()且其中为连续值,

6.根据权利要求1所述的方法,其中,所述数据库的存储结构为B+树,读取数据的方式为单表取数...

【技术特征摘要】

1.一种用于读取数据库数据的方法,其中,所述数据库包括至少一个表,其中每个表基于分区字段来分区存储;

2.根据权利要求1所述的方法,其中,所述第一sql查询语句使用非聚集函数;

3.根据权利要求2所述的方法,其中,所述非聚集函数包括转换类函数;

4.根据权利要求1所述的方法,其中,所述第一sql查询语句使用聚集函数;

5.根据权利要求1所述的方法,其中,所述第一sql查询语句中还包括查询条件,当所述查询条件使用函数in()且其中为连续值,

6.根据权利要求1所述的方法,其中,所述数据库的存储结构为b...

【专利技术属性】
技术研发人员:叶壹力杨竞霜
申请(专利权)人:嘉实远见科技北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1