設定 Spanner 資料欄引擎

本頁說明如何對資料庫、資料表或索引啟用 Spanner 資料欄引擎,並加速產生檔案格式。

啟用 Spanner 資料欄引擎

使用 SET OPTIONS 子句和 columnar_policy 選項,即可啟用 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);

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');

您也可以搭配使用 ALTER TABLESET OPTIONS 子句,在表格中啟用或停用 columnar_policy。以下範例說明如何在 Singers 資料表中停用政策:

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

產生資料欄檔案格式

Spanner 會在壓縮時產生資料欄檔案格式。 壓縮是背景程序,通常會分散在多天內完成,但如果資料庫大小大幅增加,可能就會提前完成。詳情請參閱「最佳直欄涵蓋範圍」。

如果您建立沒有資料的新資料庫並啟用資料欄引擎,Spanner 會在您插入資料時以資料欄格式儲存資料,並在背景中進行壓縮。

備份資料不會產生欄狀資料格式。

如果您在現有資料庫中啟用 Spanner 資料欄引擎,且該資料庫含有資料,Spanner 會提供手動觸發壓縮的機制。詳情請參閱「手動觸發資料壓縮」。

後續步驟