17.00 - 17.05 - ハッシュ インデックスの行の圧縮 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Release Date
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-170K-JPN
Language
日本語 (日本)
Teradataシステムでは、以下のように様々な圧縮方法を使用します。
  • 論理行圧縮
  • 列値の圧縮

ハッシュ インデックスおよび結合インデックスの圧縮についての説明では、圧縮は、固定列つまり繰り返しのない列の複数の値セットが繰り返しのある列の単一の値セットに付加されるという論理行の圧縮を示しています。この機能により、システムは、固定の列値を、ベースとなる繰り返しのある列値のセットの論理セグメント拡張として格納するのに対し、繰り返しのある値のセットは一度だけ格納することができます。

列の値の圧縮についての説明では、圧縮は、列の値が行自体ではなくテーブルのヘッダーに一度だけ格納され、行のヘッダー内のプレゼンス ビットのアレイによってそれらの値に対するポインティングが行なわれることを示しています。この方法は、ディクショナリ インデックス付けといいます。その他の詳細は、Teradata Vantage™ - データベースの設計、B035-1094を参照してください。

このトピックでは、論理行圧縮について説明します。

以下の事柄がTRUEである場合、システムはハッシュ インデックス行を自動的に圧縮します。
  • 順序付き列セットは、実テーブルのプライマリ インデックス 列と同じです。
  • 基本テーブルのプライマリ インデックスは固有ではありません。

順序キーの値が同じ行が複数個あれば、それらは圧縮されて、固定部分と反復部分からなる1つの物理行になります。列が1つの物理行に入りきらない場合は、必要に応じて複数の物理行になります。

行の固定部分は、column_1リスト用に明示的に定義された列で構成されます。その他の暗黙定義または明示定義された列が、反復部分になります。ハッシュ インデックスの行圧縮の詳細については、<Teradata Vantage™ - データベースの設計、B035-1094>を参照してください。

システムが複数の行セットを一緒に圧縮するのは、それらが同じINSERT文によって挿入された場合だけです。つまり、後で挿入される行は、既存の圧縮済み行セットに論理行としてない、独立型の行セットとして圧縮されます。

ハッシュ インデックスのは圧縮できますが、ハッシュ インデックスの個々の列値は圧縮できませんことに注意してください。さらに、結合インデックス列の値とは異なり、ハッシュ インデックス列の値は親の実テーブルの圧縮特性を継承することはできません。