オープンソースのリレーショナルデータベース管理システム「MySQL」の最新版「MySQL 9.0」がリリースされた。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Oracleは2024年7月3日(米国時間、以下同)に公式ブログで、オープンソースのリレーショナルデータベース管理システム(RDBMS)である「MySQL」の最新版「MySQL 9.0」を7月1日にリリースしたと発表した。
MySQLのリリースモデルはイノベーションリリースと「Long-Term Supported」(LTS)リリースに分かれる。MySQL 9.0はイノベーションリリースだ。
約3カ月ごとにリリースされる。新機能、バグ修正、セキュリティパッチが含まれる。イノベーションリリースのサポートは、次のマイナーリリース(イノベーションまたはLTS)までに限られる。
約2年ごとにリリースされる。5年間のプレミアムサポートと3年間の延長サポートが提供される。メジャーバージョンの最後のマイナーリリースとしてリリースされ、その次のイノベーションリリースによって、メジャーバージョンが更新される。2024年4月にリリースされた「MySQL 8.4」が最新のLTSリリースで、今回のMySQL 9.0はその次のイノベーションリリースに当たる。
MySQL 9.0で追加された機能、非推奨となった機能、削除された機能は以下の通り。
MySQL Enterprise Editionが、JavaScriptで記述されたストアドプログラムをサポートした。
- CREATE FUNCTION gcd(a INT, b INT)
- RETURNS INT
- NO SQL
- LANGUAGE JAVASCRIPT AS
- $mle$
- let x = Math.abs(a)
- let y = Math.abs(b)
- while(y) {
- var t = y
- y = x % y
- x = t
- }
- return x
- $mle$
- ;
JavaScriptで記述されたストアドプロシージャとストアド関数の両方がサポートされており、多言語エンジンコンポーネント(MLE)で提供される。MySQLのJavaScriptサポートは「ECMAScript 2023(ES2023)」仕様に準拠している。
MySQL 9.0はVECTOR型をサポートしている。ベクトルは、バイナリ文字列値またはリスト形式の文字列として表現されるエントリ(4バイト浮動小数点値)のリストで構成されるデータ構造だ。
以下のように、CREATE TABLEを使用してVECTOR型のカラムを持つInnoDBテーブルを作成できる。
- mysql> CREATE TABLE v1 (c1 VECTOR(5000));
- Query OK, 0 rows affected (0.03 sec)
VECTORカラムは、どのようなキーとしても使用できない。その中にはプライマリーキー、外部キー、ユニークキー、パーティショニングキーが含まれる。
以下のシンタックスを使用して、EXPLAIN ANALYZEからのJSON出力をユーザー変数に保存できるようになった。
- EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
イベントに関する下記のSQLコマンドをプリペアドステートメントとして使用可能になった。
パフォーマンススキーマに、サーバシステム変数に関する情報を提供する以下の2つの新しいテーブルが追加された。
パフォーマンススキーマのvariables_infoテーブルのMIN_VALUEカラムとMAX_VALUEカラムが非推奨となり、MySQLの将来のリリースで削除される予定だ。代わりに、上に挙げたvariables_metadataテーブルのMIN_VALUEカラムとMAX_VALUEカラムを使用する必要がある。
MySQL 8.0で非推奨となったmysql_native_password認証プラグインが削除された。サーバは、CLIENT_PLUGIN_AUTH機能を持たない古いクライアントプログラムからのmysql_native認証リクエストを拒否するようになった。
Copyright © ITmedia, Inc. All Rights Reserved.
Database Expert 記事ランキング