云数据库 SelectDB 版通过Nereids优化器与Pipeline执行引擎实现查询自动优化,同时支持手动优化查询(如索引加速、高并发点查、物化视图及 Join 优化)以满足高性能查询场景需求。
自动优化查询规划
在SelectDB中,Nereids优化器和Pipeline执行引擎是其自带的两项核心的查询处理技术,分别针对查询优化和执行阶段进行深度优化,显著提升复杂查询性能和资源利用率。以下是Nereids优化器和Pipeline执行引擎在SelectDB如何对一条SQL优化的大致流程:
各技术主要特性如下所示,如需了解更多,您需查阅相关文档。
技术名称 | 特性说明 |
技术名称 | 特性说明 |
| |
|
手动优化查询
如果SelectDB自带的Nereids全新优化器和Pipeline执行引擎仍未能满足您的查询需求,您可以通过统计信息分析查询数据,并根据分析结果选择合适的优化策略,以优化您的查询。
优化方式 | 使用场景 | 使用限制 |
优化方式 | 使用场景 | 使用限制 |
适用于高并发的点查询优化。 点查询是指从数据库中检索满足特定条件的少量数据,通常通过主键或高基数列进行检索。 |
| |
适用于重复且耗时较长的复杂查询的优化。 |
更多限制,请参见物化视图的局限性。 | |
适用于任何场景下快速过滤或地位数据的优化。 | 不同的索引,会有不同限制,更多详情,请参见索引加速。 | |
Join优化。 | Join条件中需存在左表的分布式列,且左表在执行时只使用了单分区的数据。 | |
Join优化。 | Join条件中需存在左表的分布式列,且左右属于同一个Colocate Group。 | |
大表Join小表的优化。 | 使用Runtime Filter时Join语句需同时满足以下两个要求。
| |
去重结果必须精确,且数据基数在百万级以内,或存储资源充足的场景。 |
| |
需处理海量数据(如十亿级),且允许结果一定误差(如分析类指标),或需在分布式系统中高效合并结果的场景。 |
|
- 本页导读 (1)
- 自动优化查询规划
- 手动优化查询