第七章 解释SQL查询计划
本章介绍由ShowPlan生成的InterSystems SQL查询访问计划中使用的语言和术语。
存储在映射中的表
SQL表存储为一组映射。 每个表都有一个包含表中所有数据的主映射; 表还可以有其他的映射,如索引映射和位图。 每个映射可以被描绘成一个多维全局,其中一些字段的数据在一个或多个下标中,其余字段存储在节点值中。 下标控制要访问的数据。
- 对于主映射,
RowID或IDKEY字段通常用作映射下标。 - 对于索引映射,通常将其他字段用作前导下标,将
RowID/IDKEY字段用作附加的较低级别的下标。 - 对于位图,可以将位图层视为附加的RowID下标级别。但是,位图只能用于为正整数的
RowID。
发展计划
编译SQL查询会生成一组指令来访问和返回查询指定的数据。
这些指令表示为. int例程中的ObjectScript代码。
指令及其执行顺序受到SQL编译器中有关查询中涉及的表的结构和内容的数据的影响。 编译器尝试使用表大小和可用索引等信息,以使指令集尽可能高效。
查询访问计划(ShowPlan)是对结果指令集的可读翻译。
查询的作者可以使用这个查询访问计划来查看将如何访问数据。
虽然SQL编译器试图最有效地利用查询指定的数据,但有时查询的作者对存储的数据的某些方面的了解要比编译器清楚得多。





.png)