为提升性能、减小空间占用,物理表通常会采用特定存储机制,不过这类机制常会降低数据可读性,同时增加使用的复杂度。比如用整数代替枚举值,或者用整型字段的二进制位存储布尔值。这类存储方式在查询时,远不如字符串和布尔型直观易懂,因此需要进行类型转换、进制转换等额外操作,这种情况下,使用虚表会是更优选择。
虚表并非事实表,而是基于物理表定义的逻辑表。我们可以在虚表中定义更方便使用的逻辑字段,这类字段被称为伪字段;与之相对,物理表中真实存在的字段则称为真字段。
虚表通过伪字段和真字段的映射,封装了特殊存储结构,实现了物理表存储机制的透明化。这样既有利于减小磁盘占用、提高性能,又能让数据更易理解,同时降低使用复杂度。
对于不熟悉SPL的用户,在集算器中定义虚表会有一定难度,而借助元数据编辑设计器的虚表定义功能则简便得多,无需额外学习SPL。
在快速入门 - 第二步:定义虚表 小节中,已介绍如何通过组表快速定义虚表。此外,集文件(.btx)也支持用于定义虚表,由集文件生成虚表时,可在BTX primarty key中设置集文件的主键,若为多主键,使用逗号分割即可,具体如下:

勾选【The last parameter is the time key】可设置BTX primarty key中最后一个参数为时间键。
接下来,将详细介绍如何使用元数据编辑设计器定义较复杂的虚表,以及虚表定义后的其他用途。