MariaDB-シーケンス
バージョン10.0.3で、MariaDBはシーケンスと呼ばれるストレージエンジンを導入しました。そのアドホックは、操作のための整数シーケンスを生成し、その後終了します。シーケンスには、降順または昇順の正の整数が含まれ、開始値、終了値、および増分値が使用されます。
仮想(ディスクに書き込まれない)性質のため、複数のクエリでの使用は許可されません。元のクエリでのみ使用できます。ただし、シーケンステーブルはALTERコマンドを使用して標準テーブルに変換できます。変換されたテーブルが削除されても、シーケンステーブルは引き続き存在します。シーケンスは、負の数を生成したり、最小/最大で回転したりすることもできません。
シーケンスエンジンのインストール
シーケンスを使用するには、MariaDBがバイナリではなくプラグインとして配布するシーケンスエンジンをインストールする必要があります。次のコマンドでインストールします-
INSTALL SONAME "ha_sequence";
インストール後、確認してください-
SHOW ENGINES\G
エンジンのインストール後、シーケンス構文を使用する名前で標準テーブルを作成することはできませんが、シーケンス構文名で一時テーブルを作成することはできます。
シーケンスの作成
シーケンス作成には2つの方法があります-
テーブルを作成し、AUTO_INCREMENT属性を使用して、列を自動インクリメントとして定義します。
既存のデータベースを使用し、シーケンスSELECTクエリを使用してシーケンスを生成します。クエリは、seq_ [FROM] _to_ [TO]またはseq_ [FROM] _to_ [TO] _step_STEP構文を使用します。
ベストプラクティスでは、2番目の方法を使用することをお勧めします。以下に示すシーケンス作成の例を確認してください-
SELECT * FROM seq_77_to_99;
シーケンスには多くの用途があります-
操作の関連する問題から保護するために、列内で欠落している値を見つけます-
SELECT myseq.seq FROM seq_22_to_28 myseq LEFT JOIN table1 t ON myseq.seq
= x.y WHERE x.y IS NULL;
値の組み合わせを作成する-
SELECT x1.seq, x2.seq FROM seq_5_to_9 x1 JOIN seq_5_to_9 x2 ORDER BY 5, 6;
数の倍数を見つける-
SELECT seq FROM seq_3_to_100_step_4;
- 予約システムなどのアプリケーションで使用する日付シーケンスを作成します。
- 時系列を作成します。