面向成本驱动设计的抽象数据库机器解析
1. 排序流的定义
在数据库操作中,流的排序是一个重要概念。如果流 $s$ 的排序为 $(k_1, \ldots, k_l)$,我们常表述为 “流 $s$ 按 $(k_1, \ldots, k_l)$ 排序”。排序操作可针对所有值类型进行。对于类型为 $(t_1, \ldots, t_n)$ 的流 $s$,当它按 $(k_1, \ldots, k_n)$ 排序,且 ${k_1, \ldots, k_n} = {1, \ldots, n}$ 时,该流是完全排序的。
2. 数据库机器操作
2.1 操作概述
数据库机器的操作分为基本操作和复合操作。基本操作是构建复合操作的基础,复合操作则是对基本操作的组合,以实现更复杂的功能。下面是一些操作的概要信息:
| 操作名称 | 输入流数量 | 输出流数量 | 对持久数据库状态的访问 | 可能生成重复项 | 是否需要排序输入 | 是否需要整个输入流进行操作 |
| — | — | — | — | — | — | — |
| const | — | 1 | — | yes | n/a | n/a |
| duplicate | 1 | 2 | — | — | — | — |
| scan | — | 1 | read | — | n/a | n/a |
| activate | 1 | 1 | read | — | — | — |
| unnest | 1 | 1 | — | yes | — | — |
| nest0 | 1 | 1 | — | — | yes | — |
| project
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



