
# 案例：调整中间表存储方式
在DWS中行存表使用行执行引擎，列存表使用列执行引擎。如果一个SQL语句涉及的表既有行存表又有列存表，系统会自动选择行执行引擎。由于列执行引擎的性能(除indexscan相关的算子)比行执行引擎性能要好很多，因此一般建议使用列存表。特别是对一些中间结果集转储的表，一定要分析清楚，使用合适的表存储类型。
#### 优化前
某局点测试过程遇到如下的执行计划，客户希望将性能提升至3s内返回结果。
![](https://support.huaweicloud.com/devg-dws/figure/zh-cn_image_0000001188323768.jpg "点击放大")
#### 优化后
经过分析发现计划走了行引擎。根本原因是：临时计划表input_acct_id_tbl和中间结果转储表row_unlogged_table使用了行存表。
修改这两个表为列存表之后，性能提升至1.6s。
![](https://support.huaweicloud.com/devg-dws/figure/zh-cn_image_0000001233883401.png "点击放大")
