
# 连接时内表物化的Hint
#### 功能描述
实现在指定连接的inner表时，对内表进行物化。
#### 语法格式
```
[no] materialize_inner([@queryblock] inner_table_list)
```
#### 参数说明
- no表示hint的物化方式不使用。
- @queryblock请参见[指定Hint所处的查询块Queryblock](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0273.html#ZH-CN_TOPIC_0000002559105637)章节，可省略，表示在当前查询块生效。
- inner_table_list：执行连接操作时，希望被物化的内表序列，为空格隔开的字符串。
 
#### 示例
t1表作为内表物化，(t1 t2)的结果作为连接的内表被物化。
```
gaussdb=# explain (costs off) select /*+materialize_inner(t1) materialize_inner(t1 t2)*/ * from t1,t2,t3 where  t1.c3 = t2.c3 and t2.c2=t3.c2 and t1.c2=5;
                              QUERY PLAN                              
----------------------------------------------------------------------
 Streaming (type: GATHER)
   Node/s: All datanodes
   ->  Nested Loop
         Join Filter: (t2.c2 = t3.c2)
         ->  Seq Scan on t3
         ->  Materialize
               ->  Streaming(type: BROADCAST)
                     Spawn on: All datanodes
                     ->  Nested Loop
                           Join Filter: (t1.c3 = t2.c3)
                           ->  Seq Scan on t2
                           ->  Materialize
                                 ->  Streaming(type: BROADCAST)
                                       Spawn on: All datanodes
                                       ->  Index Scan using it3 on t1
                                             Index Cond: (c2 = 5)
(16 rows)
```
