AUTO_INCREMENT
バージョン 3.0 以降、StarRocks は AUTO_INCREMENT 列属性をサポートしており、データ管理を簡素化できます。このトピックでは、AUTO_INCREMENT 列属性の適用シナリオ、使用法、および機能について紹介します。
概要
新しいデータ行がテーブルにロードされ、AUTO_INCREMENT 列の値が指定されていない場合、StarRocks はその行の AUTO_INCREMENT 列に対してテーブル全体で一意の ID として整数値を自動的に割り当てます。AUTO_INCREMENT 列の後続の値は、その行の ID から特定のステップで自動的に増加します。AUTO_INCREMENT 列はデータ管理を簡素化し、一部のクエリを高速化するために使用できます。以下は AUTO_INCREMENT 列の適用シナリオです:
- 主キーとして使用する:
AUTO_INCREMENT列は主キーとして使用でき、各行に一意の ID を持たせ、データのクエリと管理を容易にします。 - テーブルのジョイン: 複数のテーブルがジョインされる場合、
AUTO_INCREMENT列をジョインキーとして使用することで、STRING 型の列(例: UUID)を使用するよりもクエリを高速化できます。 - 高カーディナリティ列の異なる値の数を数える:
AUTO_INCREMENT列は辞書内の一意の値列を表すために使用できます。STRING 値を直接数えるのに比べて、AUTO_INCREMENT列の異なる整数値を数えることで、クエリ速度が数倍または数十倍向上することがあります。
AUTO_INCREMENT 列を CREATE TABLE 文で指定する必要があります。AUTO_INCREMENT 列のデータ型は BIGINT でなければなりません。AUTO_INCREMENT 列の値は 暗黙的に割り当てるか明示的に指定する ことができます。1 から始まり、新しい行ごとに 1 ずつ増加します。
基本操作
テーブル作成時に AUTO_INCREMENT 列を指定する
id と number の 2 つの列を持つ test_tbl1 という名前のテーブルを作成します。number 列を AUTO_INCREMENT 列として指定します。
CREATE TABLE test_tbl1
(
id BIGINT NOT NULL,
number BIGINT NOT NULL AUTO_INCREMENT
)
PRIMARY KEY (id)
DISTRIBUTED BY HASH(id)
PROPERTIES("replicated_storage" = "true");