MySQL 9.1: 新機能、非推奨、および重要な更新
MySQL 9.1 では、トリガー処理の強化、最適化された EXPLAIN 出力、OpenID Connect サポートなどの主要なアップデートが導入されています。
広く採用されているオープンソース RDBMS である MySQL 9.1 が登場し、改善、新機能、およびいくつかの非推奨が追加されました。最も印象的な新機能の 1 つは、特に読み取り専用操作中のトリガーの処理方法です。
以前のバージョンでは、テーブルに関連付けられたトリガーは、SELECT
のような読み取り専用ステートメントであっても、テーブルにアクセスされるたびに完全にロードされ、解析されていました。これにより、メモリが無駄になるだけでなく、実行時間が不必要に増加します。
現在、MySQL 9.1 では、トリガーは 2 つの異なるフェーズで処理されます。最初はトリガーのメタデータのみが読み取られ、実際に必要になるまで (つまり、データを変更するとき)、解析は延期されます。これにより、読み取り専用クエリのリソース消費が大幅に削減され、全体的なパフォーマンスが向上します。
さらに、キャッシュの使用状況を追跡するために Table_open_cache_triggers_hits
や Table_open_cache_triggers_misses
などの新しいサーバー ステータス変数が導入され、監視機能がさらに強化されました。
クエリ実行プランを理解するために使用される EXPLAIN
コマンドもいくつかの更新を受けています。出力には、複数範囲の読み取り、セミ結合戦略、条件文字列の一貫したフォーマットに関するより詳細な情報が含まれるようになりました。これにより、開発者はクエリのパフォーマンスについてより多くの洞察を得ることができ、データベースを効果的に最適化できます。
もう 1 つの注目すべき追加機能は、CREATE VIEW
ステートメントの IF NOT EXISTS
句のサポートです。これにより、ユーザーは、ビューが既に存在するかどうかを気にせずにビューの作成を試みることができます。存在する場合、変更は行われず、エラーではなく警告が発行されます。
MySQL 9.1 では、クラッシュ セーフな CREATE DATABASE
および DROP DATABASE
ステートメントも導入されています。これは、テーブルが InnoDB などのアトミック DDL 操作をサポートするストレージ エンジンを使用している限り、データベースの作成と削除が完全にトランザクション化されることを意味します。
これにはどんなメリットがあるのでしょうか?つまり、データベースの作成中または削除中に予期しないサーバーのシャットダウンやエラーが発生した場合の不整合を回避するのに役立ちます。
柔軟性に関しては、MySQL 9.1 は JavaScript ストアド プログラムで VECTOR データ型をサポートするようになりました。これは、VECTOR
値をストアド プロシージャの入出力引数として使用できることを意味します。これは、高度なベクトル演算を利用するアプリケーションにとって特に有益です。
MySQL Enterprise ユーザーの場合、新しいレプリケーション アプライヤ メトリクスを導入すると、レプリケーション プロセスの可観測性が大幅に向上します。管理者は、レプリケーションの進行状況をより効果的に監視し、有用な統計を収集できるため、トラブルシューティングが容易になり、安定したレプリケーション環境を維持できるようになります。
さらに、MySQL 9.1 は OpenID Connect をサポートするようになり、認証の柔軟性が強化され、最新のシングル サインオン システムとの統合が可能になります。この機能は MySQL Enterprise Edition で利用できるため、特に大規模環境でのユーザー管理がよりシームレスになります。
さらに、新しいオプション トラッカー コンポーネントは、インストールされているプラグインやコンポーネントに関連するものを含む、MySQL サーバー オプションの監視に役立ちます。このコンポーネントは MySQL Enterprise Edition の一部としても利用でき、サーバーで有効になっているすべてのオプションを明確に表示します。
最後に、MySQL 9.1 では多くの便利な機能が導入されていますが、特定の要素の非推奨も示されています。一部の機能は非推奨となっており、将来のリリースでは削除される予定です。開発者は、これらの非推奨の機能に依存しないように、アプリケーションの更新を開始する必要があります。
さらに、一部の機能は MySQL 9.1 ですでに削除されており、古いアプリケーションに影響を与える可能性があります。したがって、データベース管理者は、9.1 に移行する前に、MySQL 9.0 の機能の使用状況を確認し、互換性を確保するために適切に調整する必要があります。
さらに詳しい詳細については、リリース ノートを確認するか、ここでこのリリースがもたらすすべての新機能を確認してください。