OceanBase 数据库还支持列存索引的概念,不同于“对列存建索引”。
列存索引指的是索引表的结构是列存格式。
创建:
create /*+ parallel(2) */ index idx1 on t6(c3) with column group (each column);
冗余行存:with column group (all columns, each column)
create index idx1 on t1(c2) storing(c1) with column group(all columns, each column);
alter table t1 add index idx1 (c2) storing(c1) with column group(all columns, each column);
纯列存:with column group (each column)
create index idx1 on t1(c2) storing(c1) with column group(each column);
alter table t1 add index idx1 (c2) storing(c1) with column group(each column);
在数据库索引中使用 STORING
子句的目的是存储额外的非索引列数据到索引中。这可以为特定的查询提供性能优化,既可以避免回表,也可以降低索引排序的代价。当查询仅需要访问存储在索引中的列,而不需要回表查询原始行时,可以大幅提升查询效率。
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001573567