LOADING

加载过慢请开启缓存,浏览器默认开启

database sql query

2023/3/26 database sql query

数据库查询处理模型

火山模型

特点:

1.查询处理过程分为多个阶段,每个阶段由一个或多个操作符组成,每个操作符都接收输入数据并生成输出数据,

2.数据通过管道连接不同的操作符,每个操作符都只需处理管道中的数据,避免了一次性将所有数据加载到内存中的问题

优点:

1.灵活性高:火山模型能够适应多种查询的执行计划,并且支持优化器在运行时的动态调整执行计划

2.执行效率高:能够对大量数据进行分段处理,缓解单一查询占用大量内存的问题,更有利于利用系统资源,提高查询效率

3.易于实现:实现比较简单,便于理解和维护

缺点

1.数据传输有开销,每个操作符都需要把处理结果传递给下一个操作符,这样会增大数据传输的开销,降低查询效率

2.网络带宽瓶颈:在分布式环境下,由于数据需要通过网络进行传输,当数据量较大时,网络带宽可能成为瓶颈,影响查询效率。

3.优化器成本较高:火山模型需要一个优化器来选择最优的查询执行计划,这个过程需要耗费较高的计算成本。

例子

            Query Plan
                 |
          ----------------
          |  Aggregate  |
          ----------------
                 |
          ----------------
          |    Sort    |
          ----------------
                 |
    --------------------------
    |            Join         |
    --------------------------
    |         |          |
-------  -------   -------------
| S1 |    | S2 |    |    S3     |
-------  -------   -------------