索引概念 存储在 CQL 表中的数据可以通过多种方法进行查询。主要方法使用为表定义的分区键,称为主索引。但是,查询通常需要使用表的另一个列来选择所需的行,此时需要二级索引。二级索引使用快速、高效的查找匹配给定条件的数据。创建任何索引后,可以使用该索引查询数据。 Apache Cassandra 提供以下类型的索引: 索引类型 版本 主索引 全部 存储附加索引 (SAI) 5.0 二级索引 (2i) 全部 主索引 主索引是 Apache Cassandra 中的分区键。Apache Cassandra 的存储引擎使用分区键来存储数据行,最有效、最快的查找数据匹配分区键。 存储附加索引 (SAI) SAI 使用索引来索引非分区列,并将索引信息附加到存储数据行的 SSTable。索引位于与 SSTable 相同的节点上,并在 SSTable 更新时更新。SAI 是大多数用例中最合适的索引方法。 二级索引 (2i) 二级索引是为 Apache Cassandra 编写的原始内置索引。这些索引都是本地索引,存储在每个 Apache Cassandra 集群节点上的隐藏表中,与包含被索引值的表分开。必须从节点读取索引。仅当与分区键结合使用时,才建议使用此索引方法。