Mariadb-sequences
提供:Dev Guides
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;
- 予約システムなどのアプリケーションで使用する日付シーケンスを作成します。
- 時系列を構築します。