
# Result
#### 算子说明
Result用于处理仅需要一次计算的条件表达式（2 \> 1）或者insert中仅有一个VALUES子句，从而控制流程是否可以提前返回，不需要进行后续操作。
#### 典型场景
- Result节点用于优化常量条件表达式的查询，条件表达不依赖于扫描的数据，比如：select \* from t1 where 1 \> 2。
- 当SELECT中没有FROM子句或者INSERT语句中只有一个VALUES子句时，执行器会直接计算SELECT的投影属性或者使用VALUES子句构造元组。
 
#### 示例
**示例1：**Result节点用于优化常量条件表达式的查询。
```
--数据准备。 
gaussdb=# DROP TABLE IF EXISTS t1;
gaussdb=# CREATE TABLE t1(c1 number, c2 number, c3 number); 
CREATE TABLE 
gaussdb=# INSERT INTO t1 VALUES(generate_series(1, 100), 2, 3); 
INSERT 0 100
--执行结果。 
gaussdb=# EXPLAIN SELECT * FROM t1 WHERE 1 > 2; 
                QUERY PLAN
------------------------------------------
 Result  (cost=0.00..0.01 rows=1 width=0)
   One-Time Filter: false
(2 rows)
```
上述示例中，Result 算子输出信息如下所示。
| 信息名称            | 含义                                |
|:---|:---|
| Result          | 算子的名称。                            |
| One-Time Filter | 过滤的时候用的常量表达式恒为false，因此只执行一次表达式即可。 |
   
**示例2：**SELECT中没有FROM子句。
```
gaussdb=# EXPLAIN SELECT dbe_raw.bit_and('1','2'); 
                QUERY PLAN
------------------------------------------
 Result  (cost=0.00..0.01 rows=1 width=0)
(1 row)
```
**示例3：**INSERT语句中只有一个VALUES子句。
```
gaussdb=# EXPLAIN INSERT INTO t1 VALUES(1, 2, 3); 
                   QUERY PLAN
------------------------------------------------
 Insert on t1  (cost=0.00..0.01 rows=1 width=0)
   Node/s: All datanodes
   Node expr: c1
   ->  Result  (cost=0.00..0.01 rows=1 width=0)
(4 rows)
--删除。
gaussdb=# DROP TABLE IF EXISTS t1;
```
