什么是列?
列是值的列表,通常属于特定字段,在表中垂直显示。在关系数据库表中,列中的每个值都对应一个不同的记录。
列中的值共享一个数据类型。也就是说,如果一列的数据类型是Integer
,则表示该列中的每个值都必须是整数。可能还有其他约束,涉及格式、字符长度或该值是否为必填项。
列示例
这是Metabase示例数据库中Orders
表的图像,其中Created At
列被高亮显示。Created At
列的数据类型是DateTime
,此列中的值分别对应单个订单的时间戳。

列与字段
虽然列和字段在技术上不是一回事,但通常可以互换使用这些术语。请参阅列与字段。
然而,请记住,列并不总是直接对应于数据库中的字段。例如,您可能希望在Metabase中创建一个自定义列,其中包含计算值,例如显示每个订单的折扣百分比。您可以通过告诉Metabase计算Discount
除以Subtotal
,并将结果显示在新列中来创建此自定义列。
列式存储
虽然许多传统关系数据库将数据存储为行,并且通常最适合存储事务性数据,但一些数据库(如针对分析优化的数据仓库)采用列式存储。
列式数据库(也称为面向列的数据库)将列的值物理地存储在一起,而不是基于整个行进行索引。这可以大大加快分析查询和聚合函数的执行速度,因为这些查询将能够从磁盘上的同一位置检索相似数据,而不是在整个数据库中执行大量读取以从单个记录中提取列的值。