1 .一种数据库查询方法,其特征在于,包括:
接收查询语句;
对所述查询语句进行解析以得到对应数据库平台的物理语法树,其中,所述物理语法
树指适配所述数据库平台,并能够指示所述查询语句的语法结构的图形表示;
根据所述物理语法树得到所述查询语句的复杂程度和待扫描的记录数;
根据所述待扫描的记录数和复杂程度估计所述查询语句的资源消耗指数;
根据所述资源消耗指数将所述查询语句加入对应的队列;
按照资源消耗从低至高的队列顺序执行其中的查询语句以得到查询结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述查询语句进行解析以得到语法
树,包括:
对所述查询语句进行解析得到逻辑语法树,所述逻辑语法树中包括供用户查找的逻辑
字段和逻辑表;
根据逻辑表配置对所述逻辑语法树解析得到各数据库平台对应的物理语法树,所述物
理语法树中包括各数据库平台中实际存储的物理字段和物理表,所述逻辑表配置中包括所
述逻辑字段、逻辑表与所述物理字段、物理表的映射关系。
3 .根据权利要求1所述的方法,其特征在于,所述根据所述物理语法树得到所述查询语
句的复杂程度和待扫描的记录数,包括:
根据所述物理语法树中的来自子句得到被查询的物理表的名称;
根据所述物理表的名称从元数据系统中获取所述物理表中包括的待扫描的记录数;
根据所述物理语法树中的操作的复杂程度计算得到所述查询语句的复杂程度。
4 .根据权利要求1‑3任一项所述的方法,其特征在于,所述根据所述待扫描的记录数和
复杂程度估计所述查询语句的资源消耗指数,包括:
估计所述资源消耗指数=所述待扫描的记录数*K1+所述复杂程度*K2 ,其中,K1和K2为
比例系数,K1+K2=1,且K1>0,K2>0。
5 .根据权利要求1‑3任一项所述的方法,其特征在于,所述方法还包括:
记录历史查询语句的实际执行耗时与历史查询语句的待扫描的记录数和复杂程度之
间的映射关系。
6 .根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述查询语句的待扫描的记录数和复杂程度以及所述映射关系估计所述查询语
句的执行耗时。
7 .一种数据库查询服务器,其特征在于,包括:
接收单元,用于接收查询语句;
解析单元,用于对所述接收单元接收的查询语句进行解析以得到对应数据库平台的物
理语法树,其中,所述物理语法树指适配所述数据库平台,并能够指示所述查询语句的语法
结构的图形表示;
获取单元,用于根据所述解析单元解析的物理语法树得到所述查询语句的复杂程度和
待扫描的记录数;
估计单元,用于根据所述获取单元得到的待扫描的记录数和复杂程度估计所述查询语
句的资源消耗指数;
权 利 要 求 书
1/2 页
2
评论