Skip to content
mengshi edited this page Jan 23, 2014 · 17 revisions

执行器概况

    TDDL的执行器,根据执行计划,到指定的数据节点进行查询操作,并在指定节点上完成相应的聚合操作,最终返回一个ResultSet给用户。

   

执行器架构



 

    执行器分为两个部分,Cursor和Handler。

    Cusor是一种装饰器,主要方法为next(),每一种Cursor只完成单一的一项功能。例如,Limit Cursor用于从底层Cursor取出指定条数的记录,Column Alias Cursor用于将从底层取出来的数据进行别名替换。Cursor以Cursor树的形式存在。

    Handler用于将执行计划翻译成Cursor树。对应于执行计划中的节点类型,用于查询的Handler也分为三种

  • MergeHandler
  • JoinHandler
  • QueryHandler

Handler

QueryHandler

JoinHandler

MergeHandler

Cursors

    Query Cursor

    Column Alias Cursor

    Merge Cursor

    Merge Sorted Cursor

    Temp Table Cursor

    Limit Cursor

    Index Nested Loop Cursor

    Sort Merge Cursor

    Aggregate Cursor

    Range Cursor

    Distinct Cursor

    Value Filter Cursor

    Value Mapping Cursor

Order By

Group By

Scalar函数

Aggregate函数

Having

Limit

Join

    Index Nested Loop Join

    Nested Loop Join

    Sort Merge Join

 

Clone this wiki locally