SQL オプティマイザで、テーブルスキャンよりも頻繁なインデックス検索が優先されるようになった。
マルチプロセッサ搭載の Linux
コンピュータで、複数の大規模な
SELECT
クエリが同時に実行された場合のパフォーマンス上の問題が解消された。
CPU バウンドの大規模な SELECT
クエリの実行も、すべてのプラットフォームで一様に速くなる。
MySQL のバイナリログが使用される場合に、InnoDB がクラッシュリカバリ後に最新の MySQL バイナリログファイルの名前と、そのファイルのどの位置までリカバリできたか(= バイトオフセット)を出力するようになった。これは、レプリケーションでマスタデータベースとスレーブデータベースを再同期させる場合などに役立つ。
インストールの問題で役立つように、よりわかりやすいエラーメッセージが追加された。
InnoDB テーブルスペース内で親テーブルを失った MySQL テンポラリテーブルもリカバリできるようになった。
外部キーの宣言で、参照元整数カラムと参照先整数カラムで符号の有無が異なっている場合に、InnoDB がその宣言を阻止するようになった。
バグ修正: SHOW CREATE TABLE
または SHOW TABLE STATUS
を呼び出すと、メモリが破損し、mysqld
がクラッシュする可能性があった。
特に、SHOW CREATE TABLE
を頻繁に呼び出す mysqldump
では危険性が高かった。
バグ修正: Unix で InnoDB テーブルに対して
ALTER TABLE
とクエリを同時に実行した場合に、mysqld
が row0row.c
の 474
行目でアサートエラーを起こしてクラッシュする可能性があった。
バグ修正:
オートインクリメントカラムを含んでいる複数のテーブルへの挿入が
1 つの LOCK TABLES
内にラップされていると、InnoDB が
lock0lock.c
でアサートしていた。
3.23.47
では、一意のセカンダリインデックスに複数の
NULL 値があってもかまわなかった。
ところが、CHECK TABLE
からはテーブルが破損していると報告されていた。
CHECK TABLE
がこの状況でエラーを報告しなくなった。
バグ修正: ビッグエンディアンを採用する
Sparc などのプロセッサで SHOW
VARIABLES
を実行すると、innodb_flush_log_at_trx_commit
などのブール値の起動パラメータが、オンであっても常に
OFF と表示されていた。
バグ修正: Windows NT/2000 で mysqld-max-nt をサービスとして実行した場合に、そのサービスのシャットダウンが、InnoDB シャットダウンの完了を待たずに実行されていた。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.