配置 Spanner 列式引擎

本页介绍了如何在数据库、表或索引上启用 Spanner 列式引擎,以及如何加速文件格式生成。

启用 Spanner 列式引擎

使用带有 columnar_policy 选项的 SET OPTIONS 子句启用 Spanner 列式引擎。您可以在创建或更改 DATABASETABLEINDEX 架构对象时应用此选项。SEARCH INDEXVECTOR INDEX 架构对象永远不会采用列状格式。

数据库和表格层次结构中的较低级别会沿用其父级的 columnar_policy。您可以在较低级别更改此设置。

columnar_policy 选项具有以下标志:

  • 'enabled''disabled' 可为特定架构对象启用或停用列式引擎。
  • NULL(默认)使用父对象的列式引擎政策(如果存在)。NULL 可清除表对象上的先前设置。

您还可以省略 OPTIONS 以从父对象继承 columnar_policy

以下示例展示了如何执行以下操作:

  • 创建启用了列级政策的数据库。
  • 定义一个从数据库继承列级政策的 Singers 表(省略表选项的 columnar_policy = NULL)。
  • 定义一个显式停用列级政策的 Concerts 表。
CREATE DATABASE Music;

ALTER DATABASE Music SET OPTIONS (columnar_policy = 'enabled');

CREATE TABLE Singers(
  SingerId INT64 NOT NULL,
  FirstName STRING(1024),
  LastName STRING(1024),
  BirthDate DATE,
  Status STRING(1024),
  LastUpdated TIMESTAMP,)
  PRIMARY KEY(SingerId),
  OPTIONS ();

CREATE TABLE Concerts(
  VenueId INT64 NOT NULL,
  SingerId INT64 NOT NULL,
  ConcertDate DATE NOT NULL,
  BeginTime TIMESTAMP,
  EndTime TIMESTAMP,)
  PRIMARY KEY(VenueId, SingerId, ConcertDate),
  OPTIONS (columnar_policy = 'disabled');

以下示例展示了如何对名为 Artists 的现有数据库启用列式引擎,并对该数据库中名为 Museums 的表停用列式引擎:

ALTER DATABASE Artists SET OPTIONS (columnar_policy = 'enabled');

ALTER TABLE Museums SET OPTIONS (columnar_policy = 'disabled');

列式文件格式生成

Spanner 会在压缩时生成列式文件格式。压缩是一个后台进程,通常会持续多天,但如果数据库的大小大幅增加,则可能会提前完成。如需了解详情,请参阅最佳列覆盖率

后续步骤