ホームページ  >  記事  >  データベース  >  MySQL 8.0.0 開発マイルストーン バージョンがリリースされました!_MySQL

MySQL 8.0.0 開発マイルストーン バージョンがリリースされました!_MySQL

WBOY
WBOYオリジナル
2016-10-09 08:33:421193ブラウズ

MySQL 開発チームは 12 日に MySQL 8.0.0 開発マイルストーン バージョン (DMR) のリリースを発表しました。 MySQL がなぜ 5.x から 8.0 に急上昇したのかに驚く人もいるかもしれません。実際、MySQL 5.x シリーズは Oracle に買収される前の 5.1 から始まり、買収後も 5.5、5.6、5.7 と 5.x を維持し続けてきました。実際、元のリリース リズムに従う場合、5.6.x は 6.x、5.7.x は 7.x と考えることができます。したがって、バージョンの命名方法を変更しただけです。

とはいえ、今回リリースされたMySQL 8.0.0開発版には、まだまだ見どころがたくさんあります。

MySQL 8.0.0 ハイライト

トランザクションデータディクショナリ、MyISAMストレージエンジンから完全に分離

実際にデータ ディクショナリを InnoDB のいくつかのテーブルに配置すると、FRM、TRG、PAR ファイルはもう必要ありません。情報スキーマがデータ ディクショナリ テーブルのビューとして表示されるようになりました。原則として、MyISAM データ テーブル タイプはまったく必要なく、すべてのシステム テーブルを InnoDB に配置できます。

SQL ロール

ロールは権限の集合です。ロールを作成したり、ユーザーにロールを付与したり削除したりできます。これは権限管理に便利です。

utf8mb4 文字セットがデフォルトの文字セットになり、Unicode 9 をサポートします

デフォルトの文字セットは latin1 から utf8mb4 に変更され、デフォルトの照合順序は latin1_swedish_ci から utf8mb4_800_ci_ai に変更されます。

非表示のインデックス

一部のインデックスは SQL オプティマイザーが使用しないように非表示にすることができますが、バックグラウンドで更新され続けます。必要に応じていつでも可視性を回復できます。

バイナリデータに対してビット演算を実行できます

BIGINT でビット操作を実行できるだけでなく、8.0 以降では [VAR]BINARY/[TINYMEDIUMLONG]BLOB でのビット操作もサポートされています。

IPv6とUUIDによる動作の改善

INET6_ATON () と INET6_NTOA () はビット演算を実行できるようになりました。これは、INET6_ATON () が VARBINARY (16) データ型 (128 ビット) を返すようになったためです。 UUID の操作が改善され、3 つの新しい関数 UUID_TO_BIN ()、BIN_TO_UUID ()、および IS_UUID () が導入されました。 MySQL には特別な IPv6 および UUID データ型はありませんが、VARBINARY (16) データ型で格納されます。

永続グローバル変数

SET PERSIST を使用して、再起動しても保持される永続的なグローバル変数を設定できます。

パフォーマンスデータベースパフォーマンススキーマの改善

たとえば、より高速な検索を可能にするために、100 を超えるインデックスがパフォーマンス データベースに追加されました。

SQL パーサーをリファクタリングします

SQL アナライザーの継続的かつ段階的な改善。古いパーサーには、構文の複雑さとトップダウン解析アプローチにより重大な制限があり、維持および拡張が困難でした。

コストモデル

InnoDB バッファーは、メイン メモリ キャッシュにあるテーブルとインデックスの数を推定できるようになりました。これにより、アクセス方法を選択するときに、オプティマイザーがデータをメモリに保存できるか、ディスクに保存する必要があるかを認識できるようになります。

ヒストグラム

ヒストグラムを使用することで、ユーザーまたは DBA はデータ分布に関する統計を作成でき、これをクエリの最適化で使用して、最適化されたクエリ ソリューションを見つけることができます。

スキャンパフォーマンスの向上

InnoDB 範囲クエリのパフォーマンスが向上しました。これにより、テーブル全体のクエリと範囲クエリのパフォーマンスが 5 ~ 20% 向上します。

BLOBを再構築

BLOB のリファクタリングにより、フラグメントの読み取り/更新操作が高速化され、JSON データ操作が高速化されます。

持続的に自己価値を高める

InnoDB は、自動インクリメント シーケンスの最大値を REDO ログに保存します。この改善により、非常に古いバグ #199 も修正されます。

一時テーブル

圧縮一時テーブルのサポートを削除し、一時テーブルのメタデータをメモリに保存します。

さらに重要な改善点と詳細については、MySQL 8.0.0 リリースのお知らせ [1] および [2] を参照してください。

ダウンロード

現時点では、8.0.0 はまだ開発バージョンです。最新の機能を体験してテストしたい場合は、dev.mysql.com[3] から各プラットフォームのインストール パッケージをダウンロードできます。ただし、MySQL ソフトウェア パッケージはますます大きくなり、Linux プラットフォーム上のバイナリ パッケージは 1 GB 近くになります。運用環境で使用する場合は、8.0 が安定バージョンになる前に、5.7 シリーズを引き続き使用してください。最新バージョンは 5.7.15 GA バージョンであり、これはわずか 600 M を超えます。

最新のソースコードは GitHub にありますので、興味のある方は中国人からの投稿をご覧ください。

[1]: http://dev.mysql.com/doc/relnotes/mysql/8.0/en/

[2]: http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-is-available/

[3]: http://dev.mysql.com/downloads/mysql/

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。