友情链接
参数说明:
SELECT name, AVG(age) AS avg_age FROM students GROUP BY avg_age;
SELECT name, AVG(age) AS avg_age FROM students GROUP BY AVG(age);
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:statement
取值范围:
注意事项:高危参数,请用户尽量不要改变默认设置。
参数说明:
默认值:true
取值范围:true、false
注意事项:建议不要设为 false。
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
注意事项:本优化参数用处较大,建议不要设为 false。
参数说明:
默认值:true
取值范围:true、false
参数说明:
Predicate Push Down 的一个特殊优化。如果是等值 JOIN 并且某表的 JOIN 字段在 SQL 语句中有过滤,此时可以对另一张表的 JOIN 字段生成过滤条件,并且下推到 TableScan 之后。
select count(1) from employee a join grade b
on a.name=b.name where b.name like '%S';
这个例子中过滤条件实际上等价于 a.name like '%S' and b.name like '%S',因此该 SQL 的执行计划可改写为:
select count(1) from (
select name from employee a
where a.name like '%S' ) aa
join (
select name from grade b
where b.name like '%S' ) bb
on aa.name=bb.name;
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:4
取值范围:自定义 INT 型。
参数说明:
默认值:false
取值范围:true、false
注意事项:本参数仅当 hive.stats.autogather=true 时有效。
参数说明:
CBO 优化器开关。CBO 是基于代价的优化方式,主要用于优化设计 JOIN 的执行计划。
例如,CBO 会对 JOIN顺序进行调整,如果下述顺序的代价为1000:
table_A INNER JOIN table_B INNER JOIN table_C;
而另一种顺序的代价为500:
table_A INNER JOIN table_C INNER JOIN table_B
那么优化器会自动选择后一种JOIN顺序作为最终的执行计划。
默认值:false
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
参数说明:
是否删除 CBO 引入的冗余 Select Operator。
默认值:**true
取值范围:**true、false
参数说明:
是否在 CBO 内部调整 Outer Join 和 Inner Join 的顺序。
默认值:true
取值范围:true、false
参数说明:
是否启用 Combine Hint。Combine Hint 功能。此开关的优化作用在于,当多表 JOIN 时,CBO 会尽量先 JOIN 符合 Combine Hint 触发的 Bucket Join 的两表。
即指对于形如下述的语句:
SELECT /*+comine(col1, col2)*/ FROM a JOIN b;
如果 col1 和 col2 分别是表 a 和 b 的分桶列,那么 ArgoDB 会尝试用 Bucketed Join 的方式执行 JOIN。
默认值:true
取值范围:true、false
参数说明:
默认值:8.0
取值范围:自定义 FLOAT 型。
参数说明:
默认值:1.0
取值范围:自定义 FLOAT 型。
参数说明:
默认值:1.0
取值范围:自定义 FLOAT 型。
参数说明:
默认值:0.8
取值范围:自定义 FLOAT 型。
参数说明:
默认值:100000
取值范围:自定义 STRING 型。
参数说明:
默认值:false
取值范围:true、false
注意事项:不建议开启该参数。
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:/tmp/isoResultFile
取值范围:自定义 STRING 型。
参数说明:
默认值:false
取值范围:true、false
注意事项:不同方言对空字符串、NULL 以及字符类型的右侧空格处理有不同的处理方式,具体请参考 《Tranwarp ArgoDB 开发者指南》的 SQL 参考章节
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
注意事项:在聚合率高的情况下不建议设置为 true。
参数说明:
是否提取由 OR 连接的多个过滤条件之间的公共表达式。
例如,某语句中有下述过滤条件:
该开关开启后,该条件将被优化为:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
是否部分下推 OR 连接的过滤条件。
部分下推是指,当表的过滤条件由 OR 和 AND 连接非常复杂的过滤条件构成,如果能提取出来部分是只针对某一张表的过滤,就实施下推。
比如,过滤条件为:
WHERE a = 1 AND (XXX or XXX and XXX or XXX)
由于 a 只可能涉及一张表,所以部分下推时仅仅下推 a = 1。
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
注意事项:目前暂不支持视图以及子查询中的 OuterJoin。
参数说明:
是否将 Group By 前推至 INTERSECT 连接的查询内部进行去重优化。
默认值:false
取值范围:true、false
注意事项:在聚合率不高的情况下不建议设置为 true。
参数说明:
默认值:false
取值范围:true、false
注意事项:此开关目前只对物化公共表达式起作用。
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:binary
取值范围:
参数说明:
默认值:oracle
取值范围:oracle、db2、td
参数说明:
默认值:oracle
取值范围:oracle、db2、td
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:false
取值范围:true、false
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:true
取值范围:true、false
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:0
取值范围:自定义 INT 型。
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:0
取值范围:自定义 INT 型。
注意事项:
参数说明:
默认值:LRU
取值范围:LRU、FIFO
参数说明:
默认值:true
取值范围:true、false
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:false
取值范围:true、false
参数说明:
使用场景:当 MBO 改写不符合预期时,可以将该变量设置为 true 后再次执行。
默认值:false
取值范围:true、false
注意事项:
参数说明:
默认值:0.6
取值范围:自定义 FLOAT 型。
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:false
取值范围:true、false
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:ORC
取值范围:none、textfile、sequencefile、rcfile、orc、holodesk、hyperdrive、hyper2drive
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
注意事项:只有当 inceptor.strict.evaluate=true 时,才能生效。
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
友情链接
参数说明:
SELECT name, AVG(age) AS avg_age FROM students GROUP BY avg_age;
SELECT name, AVG(age) AS avg_age FROM students GROUP BY AVG(age);
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:statement
取值范围:
注意事项:高危参数,请用户尽量不要改变默认设置。
参数说明:
默认值:true
取值范围:true、false
注意事项:建议不要设为 false。
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
注意事项:本优化参数用处较大,建议不要设为 false。
参数说明:
默认值:true
取值范围:true、false
参数说明:
Predicate Push Down 的一个特殊优化。如果是等值 JOIN 并且某表的 JOIN 字段在 SQL 语句中有过滤,此时可以对另一张表的 JOIN 字段生成过滤条件,并且下推到 TableScan 之后。
select count(1) from employee a join grade b
on a.name=b.name where b.name like '%S';
这个例子中过滤条件实际上等价于 a.name like '%S' and b.name like '%S',因此该 SQL 的执行计划可改写为:
select count(1) from (
select name from employee a
where a.name like '%S' ) aa
join (
select name from grade b
where b.name like '%S' ) bb
on aa.name=bb.name;
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:4
取值范围:自定义 INT 型。
参数说明:
默认值:false
取值范围:true、false
注意事项:本参数仅当 hive.stats.autogather=true 时有效。
参数说明:
CBO 优化器开关。CBO 是基于代价的优化方式,主要用于优化设计 JOIN 的执行计划。
例如,CBO 会对 JOIN顺序进行调整,如果下述顺序的代价为1000:
table_A INNER JOIN table_B INNER JOIN table_C;
而另一种顺序的代价为500:
table_A INNER JOIN table_C INNER JOIN table_B
那么优化器会自动选择后一种JOIN顺序作为最终的执行计划。
默认值:false
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
参数说明:
是否删除 CBO 引入的冗余 Select Operator。
默认值:**true
取值范围:**true、false
参数说明:
是否在 CBO 内部调整 Outer Join 和 Inner Join 的顺序。
默认值:true
取值范围:true、false
参数说明:
是否启用 Combine Hint。Combine Hint 功能。此开关的优化作用在于,当多表 JOIN 时,CBO 会尽量先 JOIN 符合 Combine Hint 触发的 Bucket Join 的两表。
即指对于形如下述的语句:
SELECT /*+comine(col1, col2)*/ FROM a JOIN b;
如果 col1 和 col2 分别是表 a 和 b 的分桶列,那么 ArgoDB 会尝试用 Bucketed Join 的方式执行 JOIN。
默认值:true
取值范围:true、false
参数说明:
默认值:8.0
取值范围:自定义 FLOAT 型。
参数说明:
默认值:1.0
取值范围:自定义 FLOAT 型。
参数说明:
默认值:1.0
取值范围:自定义 FLOAT 型。
参数说明:
默认值:0.8
取值范围:自定义 FLOAT 型。
参数说明:
默认值:100000
取值范围:自定义 STRING 型。
参数说明:
默认值:false
取值范围:true、false
注意事项:不建议开启该参数。
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:/tmp/isoResultFile
取值范围:自定义 STRING 型。
参数说明:
默认值:false
取值范围:true、false
注意事项:不同方言对空字符串、NULL 以及字符类型的右侧空格处理有不同的处理方式,具体请参考 《Tranwarp ArgoDB 开发者指南》的 SQL 参考章节
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
注意事项:在聚合率高的情况下不建议设置为 true。
参数说明:
是否提取由 OR 连接的多个过滤条件之间的公共表达式。
例如,某语句中有下述过滤条件:
该开关开启后,该条件将被优化为:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
参数说明:
是否部分下推 OR 连接的过滤条件。
部分下推是指,当表的过滤条件由 OR 和 AND 连接非常复杂的过滤条件构成,如果能提取出来部分是只针对某一张表的过滤,就实施下推。
比如,过滤条件为:
WHERE a = 1 AND (XXX or XXX and XXX or XXX)
由于 a 只可能涉及一张表,所以部分下推时仅仅下推 a = 1。
默认值:true
取值范围:true、false
参数说明:
默认值:true
取值范围:true、false
注意事项:目前暂不支持视图以及子查询中的 OuterJoin。
参数说明:
是否将 Group By 前推至 INTERSECT 连接的查询内部进行去重优化。
默认值:false
取值范围:true、false
注意事项:在聚合率不高的情况下不建议设置为 true。
参数说明:
默认值:false
取值范围:true、false
注意事项:此开关目前只对物化公共表达式起作用。
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:binary
取值范围:
参数说明:
默认值:oracle
取值范围:oracle、db2、td
参数说明:
默认值:oracle
取值范围:oracle、db2、td
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:false
取值范围:true、false
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:true
取值范围:true、false
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:true
取值范围:true、false
参数说明:
默认值:0
取值范围:自定义 INT 型。
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:0
取值范围:自定义 INT 型。
注意事项:
参数说明:
默认值:LRU
取值范围:LRU、FIFO
参数说明:
默认值:true
取值范围:true、false
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:false
取值范围:true、false
参数说明:
使用场景:当 MBO 改写不符合预期时,可以将该变量设置为 true 后再次执行。
默认值:false
取值范围:true、false
注意事项:
参数说明:
默认值:0.6
取值范围:自定义 FLOAT 型。
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:false
取值范围:true、false
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:ORC
取值范围:none、textfile、sequencefile、rcfile、orc、holodesk、hyperdrive、hyper2drive
注意事项:只有当 MBO 总开关 inceptor.mbo.enable=true 时,该参数才生效。
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false
注意事项:只有当 inceptor.strict.evaluate=true 时,才能生效。
参数说明:
默认值:false
取值范围:true、false
参数说明:
默认值:false
取值范围:true、false