1 .一种分布式数据库IN子查询下压优化方法,其特征在于,所述方法包括:
预先设置IN子查询的结果集阈值T;
下发目标查询语句到数据节点,得到IN子查询的结果;
控制PROXY层到数据节点上捞取IN子查询的结果,结果集行数为N;
将结果集行数N与结果集阈值T进行比对,根据比对结果执行IN子查询下压优化策略。
2 .根据权利要求1所述的分布式数据库IN子查询下压优化方法,其特征在于,所述IN子
查询下压优化策略包括合并下压策略与批量下压策略;
其中,所述将结果集行数N与结果集阈值T进行比对,根据比对结果执行IN子查询下压
优化策略,包括:
将结果集行数N与结果集阈值T进行比对;
若N<T,则执行合并下压策略;
若N>T,则执行批量下压策略。
3 .根据权利要求2所述的分布式数据库IN子查询下压优化方法,其特征在于,所述合并
下压策略为:
控制PROXY层将IN子查询的结果拼接到主查询,然后下压到数据节点计算。
4 .根据权利要求3所述的分布式数据库IN子查询下压优化方法,其特征在于,所述批量
下压策略为:
控制PROXY层将IN子查询的结果等分成若干份,每份的数量为T ,分别下压到数据节点
计算。
5 .根据权利要求4所述的分布式数据库IN子查询下压优化方法,其特征在于,所述将结
果集行数N与结果集阈值T进行比对,根据比对结果执行合并下压策略或者批量下压策略,
还包括:
将下压到数据节点计算生成的计算结果汇总到PROXY层。
6 .根据权利要求1‑5任一项所述的分布式数据库IN子查询下压优化方法,其特征在于,
所述下发目标查询语句到数据节点,得到IN子查询的结果之前,包括:
通过在目标查询语句的任意位置中插入hint内容控制IN子查询下压优化策略为可执
行状态或者不可执行状态。
7 .根据权利要求6所述的分布式数据库IN子查询下压优化方法,其特征在于,所述通过
在目标查询语句的任意位置中插入hint内容控制IN子查询下压优化策略为可执行状态或
者不可执行状态,包括:
通过在目标查询语句的任意位置中插入/*+set_optimizemode=batch_convert*/控
制IN子查询下压优化策略为可执行状态;
通过在目标查询语句的任意位置中插入/*+set_optimizemode=off*/控制IN子查询
下压优化策略为不可执行状态。
8.一种分布式数据库IN子查询下压优化装置,其特征在于,所述装置包括:
阈值设置模块,用于预先设置IN子查询的结果集阈值T;
语句下发模块,用于下发目标查询语句到数据节点,得到IN子查询的结果;
结果捞取模块,用于控制PROXY层到数据节点上捞取IN子查询的结果,结果集行数为N;
比对执行模块,用于将结果集行数N与结果集阈值T进行比对,根据比对结果执行IN子
权 利 要 求 书
1/2 页
2
文档被以下合辑收录
评论