ちょっと硬派なコンピュータフリークのBlogです。

カスタム検索

2013-05-01

MySQLは立ち止まらない・・・MySQL 5.7開発版登場!

まだMySQL 5.6が登場して興奮冷めやらぬところだが、MySQLの開発チームはその手綱を緩めることはない。次期バージョンの開発版であるMySQL 5.7.1がすでに登場している。MySQLの開発リリースモデルではマイルストーンリリースと呼ばれるマイナーバージョンごとに新しい機能が盛り込まれる。(参照:MySQL 5.5登場)MySQL 5.6系での最後のマイルストーンリリース、つまり新しいバージョンが盛り込まれたバージョンがマイルストーン9、そして5.7.1がマイルストーン11となる。(マイルストーン10、つまり5.7.0はリリースされていないバージョンとなっている。)MySQL 5.7が正式版になるまでに、いくつのマイルストーンリリースを経るか、つまりどれだけ新機能が搭載されるかについては今のところ未定だが、新しいバージョンのリリースが待てない!という人はぜひMySQL 5.7.1をインストールしてwktkして頂きたい。

それでは、MySQL 5.7.1、マイルストーン11時点で搭載された新機能を見てみよう。

インデックス名の変更

ALTER TABLEにRENAME INDEXという書式が追加された。これは標準のSQLに対するMySQL独自の拡張となる。インデックス名の変更はオンライン操作、つまりテーブルの再作成を伴わない操作となる。

InnoDBのVARCHARの拡張

ALTER TABLEでVARCHARのサイズ拡張をオンラインでできるようになった。ただしサイズが255バイト以下のカラムを256バイト以上へ変更する操作はオンラインとはならないので注意が必要だ。

InnoDBのテンポラリテーブルに対するDDLが高速化

テンポラリテーブルは何度も作ったり削除したりすることになるので、高速化すると性能の底上げになるかも。

InnoDBが空間データをサポート

空間データ型(Spatial Data Types)をInnoDBがサポートするようになった。同様のデータを格納する際、以前はVARBINARYやBLOBを活用する必要があったが、5.7ではそのような回避策が不要になる。

テンポラリテーブル専用のテーブルスペース

InnoDBのテンポラリテーブル専用のテーブルスペースが設けられた。このテーブルスペースは起動時に毎回再作成されるため内容はクリアされる。

InnoDBはこの他にも様々な点で強化されている。Stewart Smithが早々とソースコードのレビューをしているのでぜひ覗いて見て欲しい。

GET STACKED DIAGNOSTICS

ストアドプログラム内の例外処理で使用するDiagnostics Areaが改善され、GET STACKED DIAGNOSTICSという文法が追加された。ストアドプログラムのデバッグに利用できる。

mysql CLIに対するログ機能の追加

mysqlコマンドに--syslogオプションが追加された。実行したコマンドをsyslogに記録しておくことができる。

Ctrl+C入力時の挙動変更

これまでのバージョンではCtrl+Cを入力すると、クエリを実行しているときは中断し、それ以外の場合にはmysql CLI自身が終了するという挙動だった。5.7ではクエリを実行していないときの挙動が変更され、Ctrl+Cを入力することで、現在編集中のコマンドラインをリセットするようになった。

mysqlbinlogでデータベース名の変更が可能に

mysqlbinlogコマンドで、データベース名の変更(書き換え)が可能になった。

まとめ

いまのところ、MySQL 5.7に追加された新機能には劇的にMySQLの使い方を変化させるようなものはない。使い勝手や性能の改善がメインであり、非常に堅実な進歩であると言えよう。

MySQL 5.7はMySQLのダウンロードサイトから入手が可能だ。(Development Releaseをクリック。)現時点ではマイルストーンリリースであり、正式版までにはまだ仕様の変更や機能の追加が入る可能性があるのでその点には十分に注意した上で、ぜひ評価して頂きたいと思う。

0 コメント:

コメントを投稿