2012年5月24日木曜日

MySQL バージョンごとの機能覚書

リリースノートから抜粋。

・4.0(2003/3/15 4.0.12から正式版)
InnoDB導入
クエリキャッシュ導入
MERGEエンジンがINSERTとAUTO_INCREMENTをサポート
UNIONクエリ導入
複数テーブルのDELETE導入


・4.1(2004/10/23 4.1.7から正式版)
SUBSTRING関数がposに負の引数を取れる様になった
サブクエリ導入
INSERT ... ON DUPLICATE KEY UPDATE導入
GROUP_CONCAT導入
UTF8サポート
カラム、テーブル、スキーマ単位で文字コードを設定できるように
HEAPエンジンでBTREEインデックスを使えるように
SHOW WARNINGS実装
CREATE TABLE ... LIKE ...構文追加
HELP構文はこのバージョンから
以前はTIMESTAMP型の戻り値は`yyyymmddhhnnss'と整数値で戻っていたが、`yyyy-mm-dd hh:nn:ss'の文字列値で戻る様になった
0xで始まる値はバイナリ値として評価されるようになった(てことは、前は暗黙に変換してたのか)
AUTO_INCREMENT属性のカラムにDEFAULTを設定しようとするとエラーになるようになった(前は設定できるけど無視される)
LIMITが負の引数を受け付けなくなった
これ以前のバージョンではsql_mode='SERIALZIE'が出来たらしいが、このバージョンからSET TRANSACTION ISOLATION LEVEL SERIALIZE; で設定する
.frmファイルのフォーマットが変わったので、過去のバージョンとのデータ互換性がない
権限テーブルのパスワードハッシュが変更されている


・5.0(2005/10/19 5.0.15から正式版)

information_schemaの導入
ARCHIVEエンジンとFEDERATEDエンジンの導入
ストアドプロシージャ実装
トリガー実装
ビュー実装
VARCHAR型の最大データ長が2^16-1bytesへ


・5.1(2008/11/14 5.1.30から正式版)パーティショニング
RBR
イベントスケジューラ
ログをTable上に吐ける
NDBクラスタ間レプリケーション
NDBクラスタのDISK使用可


・5.5(2010/12/3 5.5.8から正式版)
InnoDBがデフォルトストレージエンジンに
準同期レプリケーション
DATE,DATETIME型がそのままPARTITION RANGEに使えるように
ALTER TABLE ... TRUNCATE PARTITIONの実装
結構システム変数名が変わってる(というか互換用だった古いのが消えた)


・5.6(2012/8/7 5.6.6現在でまだ開発版)
information_schemaにInnoDBバッファ関連のテーブルが増えた
ALTER TABLE ... EXCHANGE PARTITIONの実装
performance_schemaに項目が結構増えた
Delayed Replicationの実装
slave-parallel-workersの実装
EXPLAINがINSERT,UPDATE,DELETEでも使えるように
CREATE TABLE .. DATA DIRECTORYが.ibdファイルに対しても有効に
InnoDB memcached Pluginが追加
InnoDBのデッドロック情報をエラーログに出せるように
InnoDB Undo Logスペースをibdata1から独立させられる
mysqld正常停止時にバッファプールの中身をダンプし、起動時にそれを読み込む機能。バッファプールのウォームアップが出来る。
パスワードのexpire_dateが設定可能に
InnoDBがFullText INDEXをサポート
SELECT文でパーティションを指定して取り出せるように
派生テーブルが実体化されてINDEXとか使えるように

0 件のコメント :

コメントを投稿