💿

MySQL9.0の個人的ピックアップ3点

2024/07/04に公開

ついに9系が。

What Is New in MySQL 9.0?
https://dev.mysql.com/doc/refman/9.0/en/mysql-nutshell.html

追加&変更のあった機能のなかで個人的に期待をこめて気になる3点

JavaScript stored programs

Enterpriseのみ。
JavaScriptのコードを記述できる。使用できる箇所の制限はある。詳しくは下記
https://dev.mysql.com/doc/refman/9.0/en/srjs-management.html

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$
;

VECTOR型のサポート

開発者として使いどころがなやみそうな気もするが今回の大きな目玉では?
嬉しい局面もありそう。

mysql> SELECT STRING_TO_VECTOR('[2, 3, 5, 7]');
+------------------------------------------------------+
| TO_VECTOR('[2, 3, 5, 7]')                            |
+------------------------------------------------------+
| 0x00000040000040400000A0400000E040                   |
+------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT VECTOR_TO_STRING(0x00000040000040400000A0400000E040);
+------------------------------------------------------+
| VECTOR_TO_STRING(0x00000040000040400000A0400000E040) |
+------------------------------------------------------+
| [2.00000e+00,3.00000e+00,5.00000e+00,7.00000e+00]    |
+------------------------------------------------------+
1 row in set (0.00 sec)

詳しくはこちら。
https://dev.mysql.com/doc/refman/9.0/en/vector.html#vector-supported-functions

Explainの分析出力をJSONでだせる

Saving JSON output from EXPLAIN ANALYZE INTO

EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt

FORMATで指定できるみたい

参考

1.4 What Is New in MySQL 9.0
https://dev.mysql.com/doc/refman/9.0/en/mysql-nutshell.html

Discussion