实用物理设计与查询编译技术详解
1. 引言
在现代数据库系统中,物理设计和查询编译是两个至关重要的概念。物理设计决定了数据在底层存储中的具体表示方式,而查询编译则是将用户查询转换为高效执行计划的过程。本文将深入探讨如何在不引入新查询操作符的情况下,将数据库中常用的各种更复杂的数据编码方式融入物理设计中。这包括指针、哈希、用户定义函数、两级存储等。我们将通过一个假设的ACME公司工资单系统示例来说明这些概念和技术。
2. 引用、指针和链式结构
物理设计中最强大的惯用语之一依赖于底层数据存储基于RAM模型的假设。当搜索键对应于指向存储的指针值时,可以以恒定时间访问位于此类存储中的记录。实际上,在RAM模型中,解引用指针值是数据访问的最终手段。请注意,这种惯用语不仅适用于主内存数据,也适用于存储在提供接近随机访问的外部设备上的数据,例如磁盘。
2.1 访问路径和简单扫描
假设ACME的数据库管理员部门已经确定了一个非常简单的物理设计,其中所有员工信息都记录在一个主内存数组中。伪代码如下所示:
员工数组[1到 n]的整数 emp-salary 整数 emp-num 字符串 emp-name.
为了在一阶逻辑中捕捉这种物理设计,我们考虑以下能力:
- 符号
emp-array0/3用于捕获扫描emp-array中所有条目的能力; - 符号
emp-array1/3用于捕获扫
超级会员免费看
订阅专栏 解锁全文
1万+

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



