それでは、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 コメント:
コメントを投稿