[发明专利]数据查询统计方法及装置在审
申请号: | 201910795306.3 | 申请日: | 2019-08-27 |
公开(公告)号: | CN110704472A | 公开(公告)日: | 2020-01-17 |
发明(设计)人: | 黄锦添;赵鑫;吴敦鸿 | 申请(专利权)人: | 北京数知科技股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453;G06F16/2458 |
代理公司: | 11127 北京三友知识产权代理有限公司 | 代理人: | 周晓飞;许曼 |
地址: | 100071 北京市丰台区汽*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 层级信息 查询条件 拆解结果 功能信息 语法解析器 数据查询 统计结果 统计数据 拆解 调用 数据库 关联 查询 通用 统计 | ||
本发明提供了一种数据查询统计方法及装置,该方法包括:获取原始SQL语句;原始SQL语句包括查询条件;调用语法解析器拆解原始SQL语句,得到拆解结果;拆解结果用于描述原始SQL语句中各函数的层级信息和功能信息;根据层级信息和功能信息确定目标SQL语句;目标SQL语句中的函数与查询条件相关联;根据目标SQL语句生成统计结果。本发明可以提高对数据库进行查询及统计数据的效率,且在不同的SQL可以通用。
技术领域
本发明涉及计算机技术领域,尤其是涉及一种数据查询统计方法及装置。
背景技术
现如今大量的程序应用中,各程序或系统都搭载着大量的数据,如果需要在页面上呈现这些数据,就需要对大量的数据进行查询、统计,在进行数据库查询时首先会把所有的数据都查询出来,然后再进行分页显示,这时候分页查询的操作就必不可少了,在实际应用中计算机程序常常运行大量结构化查询语言(Structured Query Language,SQL)对程序进行分页查询。其中,SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。分页查询是指将过多的查询或统计结果在有限的界面上分多页来显示。
现有的分页查询可以在数据库中进行操作,MySQL的分页查询是最简单的,借助关键字limit即可实现查询,查询语句通用形式:select SQL_CALC_FOUND_ROWS*from table_name limit 0,10;select FOUND_ROWS()as count;MySQL提供了SQL_CALC_FOUND_ROWS和FOUND_ROWS()关键字,使用SQL_CALC_FOUND_ROWS查询一次后,可以使用FOUND_ROWS()获取数据总量,方便了对查询结果进行统计,但此种情形下效率较低,且只能在MySQL中使用。
另外,SQL的分页查询现有技术中较常使用的分页插件,其中Mybatis的PageHelper插件增加手写count查询支持,其主要方法是增加查询后缀配置参数,该参数是针对分页拦截器配置的,默认值为_COUNT。PageHelper会优先通过当前查询方法名查找手写的分页查询。如果存在就使用手写的count查询,如果不存在,则使用Mybatis默认的方式自动创建count查询。Mybatis PageHelper提供了用户自定义COUNT语句的接口,虽然提高了效率,但仍然需要用户自定义,并不是实时生成。
发明内容
本发明提供了一种数据查询统计方法及装置,可以提高对数据库进行查询及统计数据的效率,且能够适用于多种SQL语句。
第一方面,本发明实施例提供了一种数据查询统计方法,该方法包括:获取原始SQL语句;原始SQL语句包括查询条件;调用语法解析器拆解原始SQL语句,得到拆解结果;拆解结果用于描述原始SQL语句中各函数的层级信息和功能信息;根据层级信息和功能信息确定目标SQL语句;目标SQL语句中的函数与查询条件相关联;根据目标SQL语句生成统计结果。
第二方面,本发明实施例还提供一种数据查询统计装置,该装置包括:获取模块,用于获取原始SQL语句;原始SQL语句包括查询条件;拆解模块,用于调用语法解析器拆解原始SQL语句,得到拆解结果;拆解结果用于描述原始SQL语句中各函数的层级信息和功能信息;优化模块,用于根据层级信息和功能信息确定目标SQL语句;目标SQL语句中的函数与查询条件相关联;统计模块,用于根据目标SQL语句生成统计结果。
第三方面,本发明实施例还提供一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据查询统计方法。
第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述数据查询统计方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京数知科技股份有限公司,未经北京数知科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910795306.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种物料管理方法、物料管理系统及电子设备
- 下一篇:一种数据库查询方法和装置