ホームページ  >  記事  >  バックエンド開発  >  MySQL バージョン 8.0 の新機能の詳細な紹介

MySQL バージョン 8.0 の新機能の詳細な紹介

小云云
小云云オリジナル
2017-11-08 17:15:152382ブラウズ

MySQL 開発チームは、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 は多くの Web サイト技術スタックの標準構成であり、人気のあるオープンソース データベースであり、最初のリリース候補バージョン 8.0 がリリースされました。

MySQL 8.0 の新機能には以下が含まれます:

すぐに使える Unicode 9.0 の完全サポート

以前はそのようなクエリを作成することが不可能または困難であったウィンドウ関数と再帰 SQL 構文のサポート

はい ネイティブ サポートの強化JSON データとドキュメントのストレージ

MySQL 8.0 のリリースでは、複数のバージョン番号 (5.5 から開始) がスキップされました。6.0 の修正と 7.0 は MySQL のクラスター バージョンを保持するために使用されるため、8.0 のバージョン番号が採用されました。

MySQL 8.0 のリリース予定日

MySQL のポリシー「新しい (一般的な) バージョンのリリース サイクルは 18 ~ 24 か月である」に従って、MySQL は MySQL 8.0 のリリース日を約束していません。 MySQL 5.7 の前回のリリースは 2015 年 10 月 21 日であったため、MySQL 8.0 の正式バージョンは 2017 年 10 月にリリースされる可能性があります。

MySQL 8.0 の Unicode 標準化への道

Unicode のデフォルトのサポートは、MySql 8.0 における最大の変更の 1 つであると言えます。 長い間、MySQL には Unicode に関して多くの未解決の問題がありました。 したがって、MySQL 8.0 の長期計画は、現在進行中の Unicode の問題をできるだけ多く修正することです。

MySQL 8.0 では、新規ユーザーがこの問題のある従来のオプションを使用できないようにするために、デフォルトのエンコーディングとして latin1 を設定しなくなりました。 utf8mb4 は、MySQL 8.0 のデフォルトの文字セットとして推奨されています。これは、現在非推奨になっている utf8mb3 文字セットよりも高速であると同時に、より柔軟な並べ替えと大文字小文字の区別も可能にすることを目的としています。

拡張 Unicode は、非西洋文字セットをサポートするだけでなく、増え続ける絵文字表現もサポートします。

MySQL 8.0 はウィンドウ関数をサポートします

SQL 言語標準の多くの実装 (Oracle、翻訳者注) は、複数の行にわたる集計計算を実装しながら、クエリから個々のデータにアクセスできる関数であるウィンドウ関数をサポートしています。以前の MySQL バージョンでは、ウィンドウ関数を使用せずにこれを行うことができましたが、面倒で遅かったです。この欠点を克服するために、MySQL 8.0 は、標準 SQL キーワード OVER を通じてウィンドウ関数の機能を実装します。これは、競合製品である PostgreSQL の実装方法と多少似ています。

また、再帰的共通テーブル式というもう 1 つの機能を使用すると、カーソルやその他のパフォーマンスを低下させる回避策を使用せずに、サブクエリに対して再帰的な操作を実行できます。

MySQL 8.0 はドキュメント データベースと JSON のサポートを改善しました

MySQL 5.7 は JSON をサポートし、MySQL がネイティブ JSON を使用して NoSQL データベースと競合できるようになります。 MySQL 8.0 では、JSON のサポートが拡張され、パフォーマンスが向上し、JSON クエリから範囲を返す機能 (SQL ステートメントの「上位 n」関数と同様) が追加され、同じクエリで使用できる新しい集計関数も追加されました。 . ステートメントでは、MySQL ネイティブの構造化データと JSON の半構造化データを組み合わせることができます。

もう 1 つの JSON 関連の改善には、MySQL のドキュメント ストレージが含まれます。 MySQL ドキュメント ストアへの読み取りと書き込みはトランザクション的に一貫しているため、JSON データへの変更をロールバックできます。ドキュメント データは、地理空間データ用のオープンな GeoJSON 形式で保存され、インデックスを付けることができるため、指示された方法で検索できます。

MySQL 8.0 のその他の主な機能

MySQL 8.0 のアップデートで計画されているその他の機能は次のとおりです:

SKIP LOCKED や NOWAIT オプションなど、行をロックするためのオプションが追加されました。その中で、

SKIP LOCKED を使用すると、無視する必要がある行を操作中にロックしないようにできます。NOWAIT は、行がロックされるとすぐにエラーをスローします。

MySQL は、仮想マシンのデプロイメントをより有効に活用するために、利用可能なメモリの総量に応じてスケールアップおよびスケールダウンできます。

クエリオプティマイザーでインデックスを非表示にできるように「非表示インデックス」機能を追加しました。使用不可としてマークされたインデックスはテーブル データの変更と同期されますが、オプティマイザはそれらを使用しません。非表示インデックスの使用に関する提案は、インデックスを保持する必要があるかどうかが決定していない場合に使用できることです。

Windows、MacOS、Linux のいくつかのバージョン、FreeBSD、Solaris 用の MySQL 8.0 をダウンロードできるようになりました。また、ソース コードもダウンロードできます。公式 Web サイトのダウンロード ページにある開発者候補バージョンにアクセスしてダウンロードできます。


以上がMySQL バージョン 8.0 の新機能の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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