MariaDB10.0.3で導入されたsequenceオブジェクト使用方法
バージョン
バージョン |
---|
10.3.36-MariaDB |
シーケンスストレージエンジン確認
MariaDB10.0.3からシーケンスストレージエンジンが追加されました。
SHOW engines;
Engine | Support | Comment | Transactions | XA | Savepoints |
---|---|---|---|---|---|
CSV | YES | Stores tables as CSV files | NO | NO | NO |
MRG_MyISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
MyISAM | YES | Non-transactional engine with good performance and small data footprint | NO | NO | NO |
SEQUENCE | YES | Generated tables filled with sequential values | YES | NO | YES |
InnoDB | DEFAULT | Supports transactions, row-level locking, foreign keys and encryption for tables | YES | YES | YES |
Aria | YES | Crash-safe tables with MyISAM heritage | NO | NO | NO |
PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
SEQUENCEの行が追加されています。MariaDBのプラグインですのでMySQLにこの機能はありません。
ha_sequence plugin usage in MySQL
Is there any possibility to use the ha_sequence plugin provided by MariaDB in MySQL ( Or does a similar plugin exist for...
シーケンスオブジェクトの使い方
テーブル名を以下のように動的に変更してシーケンスを振ります。
seq_[FROM]_to_[TO]
0から6までの例です。
>SELECT seq FROM seq_0_to_6 0 1 2 3 4 5 6
デフォルトでは1ずつ増えますが以下のように指定することができます。
seq_[FROM]to[TO]step[STEP]
3ずつ増やす例です。
>SELECT seq FROM seq_0_to_9_step_3 0 3 6 9
この仮想表同士をJOINしたり複雑なことをすることも可能です。
MySQLにOracleでいうrowidのような機能がないのでこのような機能が追加されたのかもしれません。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント