
# SMP使用建议
#### 使用限制
想要利用SMP提升查询性能需要满足以下条件：
系统的CPU、内存、I/O和网络带宽等资源充足。SMP架构是一种利用富余资源来换取时间的方案，计划并行之后必定会引起资源消耗的增加，当上述资源成为瓶颈的情况下，SMP无法提升性能，反而可能导致性能的劣化。在出现资源瓶颈的情况下，建议关闭SMP。
#### 配置步骤
1. 观察当前系统负载情况，如果系统资源充足（资源利用率小于50%），执行[2]；否则退出。
2. 设置query_dop=1（默认值），利用explain打出执行计划，观察计划是否符合[SMP适用场景与限制](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-10-0337.html#ZH-CN_TOPIC_0000002659299735)小节中的适用场景。如果符合，进入[3]。
3. 设置query_dop=value，不考虑资源情况和计划特征，强制选取dop为1或value。
4. 在符合条件的查询语句执行前设置合适的query_dop值，在语句执行结束后关闭query_dop。举例如下。 
   ```
   gaussdb=# SET query_dop = 4;
   gaussdb=# SELECT COUNT(*) FROM t1 GROUP BY a;
   ......
   gaussdb=# SET query_dop = 1;
   ```
   ![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
   - 资源充足的情况下，并行度越高，性能提升效果越好。
   
   - SMP并行度支持会话级设置，推荐客户在执行符合要求的查询前，打开SMP，执行结束后，关闭SMP。以免在业务峰值时，对业务造成冲击。
    
   
   
 
