技術めもIT系のめもを蓄積していこうかとアーカイブ「2018年09月」unionする前と後のwhereについてunionする前にwhereをするのと、unionした後にwhereをする場合、mysqlにおいて、差異はあるのかを確認してみた。「unionする前にwhereをする」のと「unionした後にwhereをする」が同パフォーマンスであれば、multisourceでviewを作っておいても十分高速に引ける可能性がある、と思ったところです。いろいろなバージョンで試してみました。以下のようなテーブルを作成しておき、100万件登録しておきます。sec)これ、正直言って、動機を満たす結果を得るのは無理だと思ってたが、、、MariaDB10.2と10.3は嬉しい結果を出してくれました。tableのinstantについてMariaDB10.3、MySQL8から、ALTER構文にinstantの機能が導入されました。利用できる範囲は限られていますが、その中であれば超高速でALTERが完了します。メタデータだけ書き換えて、実際のデータは初回アクセス時に補完する形をとっているような感じです。詳細は、公式マニュアルを参考指定だければと思います。https://mariadb.com/kb/en/library/instant-add-column-for-innodb/https://dev.mysql.com/doc/refman/8.0/en/alter-table.html実際にデータを突っ込んでみて、どのくらいALTERが高速になるか試してみました。以下のようなテーブルを用意して、100万件のデータを入れておきます。