【技术实现步骤摘要】
结构化查询语言语句分发方法、分布式数据库和存储介质
[0001]本专利技术涉及数据库
,尤其涉及一种结构化查询语言语句分发方法、分布式数据库和存储介质。
技术介绍
[0002]随着信息社会的蓬勃发展,传统的集中式数据库越来越无法满足海量数据交易的需求。而分布式数据库具有高水平扩展性、高可用性和强一致性等特征,可以满足这种数据爆发式增长所带来的数据存储容量需求和海量数据处理时延需求。
[0003]分布式数据库通过不同的分发规则将数据存储在不同的数据节点中,当数据库服务器收到客户端发来的结构化查询语言语句(Structured Query Language,简称SQL语句)时,首先会生成语法树,通过语法树生成执行计划树,然后将执行计划下发到数据节点上去执行。但是在面对非常复杂的SQL语句或数据量非常大的SQL语句时,计算节点的计算压力将会变大,同时计算的时间也将变长,无法满足当前的业务需求。
技术实现思路
[0004]为解决当前数据库系统在执行SQL语句时,由于SQL语句的复杂度大或者数据量大,处理 ...
【技术保护点】
【技术特征摘要】
1.一种结构化查询语言语句分发方法,其特征在于,所述方法包括:当接收到客户端发送的结构化查询语言语句后,根据所述结构化查询语言语句生成对应的执行计划树;对所述执行计划树进行分析,确定所述结构化查询语言语句的复杂度和数据量;根据所述复杂度和/或所述数据量,确定所述结构化查询语言语句的分发执行对象。2.根据权利要求1所述的方法,其特征在于,对所述执行计划树进行分析,确定所述结构化查询语言语句的复杂度,包括:当所述执行计划树的每个执行节点存在where、groupby、orderby、distinct、limit、或聚合函数时,计算一个复杂;当from后接一个子查询时,计算一个复杂度;遍历执行计划树的每个执行节点,获得总复杂度。3.根据权利要求2所述的方法,其特征在于,对所述执行计划树进行分析,确定所述结构化查询语言语句的复杂度之后,所述方法还包括:将所述复杂度与预设阈值进行比较;在所述复杂度大于所述预设阈值的情况下,判定所述所述结构化查询语言语句的复杂度为高复杂度;在所述复杂度小于或等于所述预设阈值的情况下,判定所述所述结构化查询语言语句的复杂度为低复杂度。4.根据权利要求1所述的方法,其特征在于,对所述执行计划树进行分析,确定所述结构化查询语言语句的数据量,包括:从中央管理模块获取表的统计信息;根据所述表的统计信息确定所述结构化查询语言语句的数据量。5.根据权利要求4所述的方法,其特征在于,所述根据所述表的统计信息确定所述结构化查询语言语句的数据量,包括:根据所述表的统计信息利用如下公式(1)确定所述结构化查询语言语句的数据量:T=A1*A2*(1+B1+B2+B3+B4+B5)
ꢀꢀꢀ
...
【专利技术属性】
技术研发人员:龙涛,
申请(专利权)人:金篆信科有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。