扫描算子用于表、结果集、链表子查询等结果遍历,每次获取一条元组作为上层节点的输入。控制算子中的BitmapAnd/BitmapOr函数所需的位图与扫描算子(索引扫描算子)密切相关。主要包括顺序扫描(SeqScan)、索引扫描(IndexScan)、位图扫描(BitmapHeapScan)、位图索引扫描(BitmapIndexScan)、元组TID扫描(TIDScan)、子查询扫描(SubqueryScan)、函数扫描(FunctionScan)等。扫描算子如表7-11所示。
表7-11 扫描算子
| 算子名称 | 说明 |
| SeqScan算子 | 用于扫描基础表 |
| IndexScan算子 | 对表的扫描使用索引加速元组获取 |
| BitmapIndexScan算子 | 通过位图索引做扫描操作 |
| TIDScan算子 | 遍历元组的物理存储位置获取一个元组 |
| SubqueryScan算子 | 子查询生成的子执行计划 |
| FunctionScan算子 | 用于从函数返回的数据集中获取元组 |
| ValuesScan算子 | 用于处理“Values (…),(…), …”类型语句,从值列表中输出元组 |
| CteScan算子 | 用于处理With表达式对应的子查询 |
| WorkTableScan算子 | 用于递归工作表元组输出 |
| PartIterator算子 | 用于支持分区表的wise join |
| IndexOnlyScan算子 | 如索引的键值满足了查询中所有表达式的需求,可以通过只对索引扫描获得元组,避免对堆表(Heap)的访问 |
| ForeignScan算子 | 扫描外部数据表 |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




