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

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