因为工作需要,最近恶补了一些SQL查询优化相关的知识,并做了一个简单报告,这里做个记录。
DBMS(数据库管理系统)在执行 SQL 查询的时候,一般有两个层面的优化,一是逻辑计划优化,以下有一个概览:
再者就是物理计划层面的优化,涉及的内容更加庞大,比如:并行,数据分区,数据压缩,负载均衡,高效的数据 shuffling,数据本地性,索引等。如果单独看优化策略,逻辑层面的优化几乎都可以认为属于 Rule-based Optimization(RBO),此外还有 History-based Optimization (HBO)和 Cost-based Optimization (CBO)。
学无止境,争取以后可以分享一些更深层次的思考。
Categories: DM