[发明专利]数据库查询方法、服务器和系统有效

专利信息
申请号: 201810162856.7 申请日: 2018-02-26
公开(公告)号: CN110309171B 公开(公告)日: 2021-08-20
发明(设计)人: 陈由峰 申请(专利权)人: 华为技术有限公司
主分类号: G06F16/2453 分类号: G06F16/2453;G06F16/2457
代理公司: 北京中博世达专利商标代理有限公司 11274 代理人: 申健
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 数据库 查询 方法 服务器 系统
【说明书】:

本申请公开了一种数据库查询方法、服务器和系统,涉及数据库领域,用于防止在先提交的慢查询语句阻塞在后提交的简单查询语句的执行。该数据库查询方法包括:接收查询语句;对所述查询语句进行解析以得到对应数据库平台的物理语法树,其中,所述物理语法树指适配所述数据库平台,并能够指示所述查询语句的语法结构的图形表示;根据所述物理语法树得到所述查询语句的复杂程度和待扫描的记录数;根据所述待扫描的记录数和复杂程度估计所述查询语句的资源消耗指数;根据所述资源消耗指数将所述查询语句加入对应的队列;按照资源消耗从低至高的队列顺序执行其中的查询语句以得到查询结果。本申请实施例应用于数据库查询。

技术领域

本申请涉及数据库领域,尤其涉及一种数据库查询方法、服务器和系统。

背景技术

基于大数据的联机分析处理(Online Analysis Processing,OLAP)系统是数据库系统最主要的应用,专门用于支持复杂的分析操作,其一般按照用户提交查询语句的先后顺序来执行查询语句。例如,参照图1中所示,为现有技术中一种基于MyCat架构的数据库系统,MyCat是一个开源的分布式数据库系统,前端用户可以把它看作数据库代理,其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用Java数据库连接(Java DataBaseConnectivity,JDBC)协议与大多数主流数据库服务器例如结构化查询语言(StructuredQuery Language,SQL)、Oracle、Hive等服务器进行通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他主流数据库里。

无论是那种存储方式,在MyCat系统架构里,都是一个传统的数据库表,由于数据库的数据量较大,如果在先提交的慢查询语句比较复杂,将消耗很长时间,可能导致在后提交的耗时较少的简单查询语句也被迫阻塞很长时间,影响用户体验。

发明内容

本申请实施例提供一种数据库查询方法、服务器和系统,用于防止在先提交的慢查询语句阻塞在后提交的简单查询语句的执行。

为达到上述目的,本申请的实施例采用如下技术方案:

第一方面,提供了一种数据库查询方法,该方法包括:接收查询语句;对查询语句进行解析以得到对应数据库平台的物理语法树,其中,物理语法树指适配数据库平台,并能够指示查询语句的语法结构的图形表示;根据物理语法树得到查询语句的复杂程度和待扫描的记录数;根据待扫描的记录数和复杂程度估计查询语句的资源消耗指数;根据资源消耗指数将查询语句加入对应的队列;按照资源消耗从低至高的队列顺序执行其中的查询语句以得到查询结果。本申请实施例提供的数据库查询方法,将查询语句解析成物理语法树后,根据该物理语法树可以得到该查询语句的复杂程度和待扫描的记录数,进一步估计出该查询语句的资源消耗指数,按照资源消耗指数将该查询语句加入对应队列,在执行查询操作时,按照资源消耗从低至高的队列顺序来执行队列中的查询语句。可以令资源消耗少的查询语句先执行,而不是简单地按照提交时间顺序执行查询语句,防止在先提交的慢查询语句阻塞在后提交的简单查询语句的执行。

在一种可能的实施方式中,对查询语句进行解析以得到语法树,包括:对查询语句进行解析得到逻辑语法树,逻辑语法树中包括供用户查找的逻辑字段和逻辑表;根据逻辑表配置对逻辑语法树解析得到各数据库平台对应的物理语法树,物理语法树中包括各数据库平台中实际存储的物理字段和物理表,逻辑表配置中包括逻辑字段、逻辑表与物理字段、物理表的映射关系。该实施方式具体实现了将查询语句解析成数据库平台对应的物理语法树。

在一种可能的实施方式中,根据物理语法树得到查询语句的复杂程度和待扫描的记录数,包括:根据物理语法树中的来自子句得到被查询的物理表的名称;根据物理表的名称从元数据系统中获取物理表中包括的待扫描的记录数;根据语法树中的操作的复杂程度计算得到查询语句的复杂程度。该实施方式具体实现了根据物理语法树得到查询语句的复杂程度和待扫描的记录数。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810162856.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top