mysql:16681
From: Horimoto Yasuhiro <Horimoto Yasuhiro <horimoto@xxxxxxxxxx>>
Date: Tue, 30 Nov 2021 13:49:45 +0900 (JST)
Subject: [mysql 16681] [ANN] Mroonga 11.10
こんにちは。Mroongaプロジェクトの堀本です。 Mroonga 11.10をリリースしました! リリースアナウンス: https://mroonga.org/ja/blog/2021/11/29/mroonga-11.10.html MroongaはMySQLで日本語全文検索を実現するストレージエンジンです。高速で あることや位置情報検索をサポートしていることなどが特徴です。詳細につい はドキュメントをご覧ください。 * Mroongaの特徴 ― Mroonga v11.10 documentation https://mroonga.org/ja/docs/characteristic.html#what-is-mroonga 変更点: https://mroonga.org/ja/docs/news.html#release-11.10 ### 改良 * [AlmaLinux] AlmaLinux 8 をサポートしました。 * [AlmaLinux] MySQL 8.0.27をサポートしました。 * MySQL 8.0 のパッケージには以下の制限があります。 * [ラッパーモード] ラッパーモードは未対応です。 * [ストレージモード] ストレージモードでは、以下の機能が未対応です。 * 最適化関連の機能 * [AlmaLinux] Percona Server 8.0.26をサポートしました。 * [AlmaLinux] MariaDB 10.3.32、10.4.22、10.5.13、10.6.5をサポートしました。 * [CentOS] MariaDB 10.2.41、10.3.32、10.4.22、10.5.13、10.6.5をサポートしました。 * [Ubuntu] Ubuntu 21.04 (Hirsute Hippo) と 21.10 (Impish Indri) の MySQL 8.0 をサポートしました。 * MySQL 8.0 のパッケージには以下の制限があります。 * [ラッパーモード] ラッパーモードは未対応です。 * [ストレージモード] ストレージモードでは、以下の機能が未対応です。 * 最適化関連の機能 ### 修正 * [CentOS] MariaDB 10.6向けMroongaを提供していなかった問題を修正しました。 * [最適化] Mroongaが行カウントの最適化を誤って適用する問題を修正しました。 通常、Mroongaは、 SELECT が COUNT(*) だけを取得し、 WHERE の条件がインデックスだけで処理できる時に、 行カウントの最適化を適用します。 しかし、以下のケースのように WHERE の条件がインデックスだけで処理できない場合でも、Mroongaは、行カウントの最適化を適用していました。 結果として、 SELECT COUNT(*) WHERE ... の結果が間違っていました。 CREATE TABLE roles ( id INT ); INSERT INTO roles VALUES (1), (2), (3), (4), (5); CREATE TABLE users ( id INT, role_id INT, INDEX (role_id) ); INSERT INTO users VALUES (10, 1); INSERT INTO users VALUES (11, 2); INSERT INTO users VALUES (13, 3); INSERT INTO users VALUES (14, 4); INSERT INTO users VALUES (15, 5); INSERT INTO users VALUES (20, 1); INSERT INTO users VALUES (21, 2); INSERT INTO users VALUES (23, 3); INSERT INTO users VALUES (24, 4); INSERT INTO users VALUES (25, 5); SELECT COUNT(*) FROM ( SELECT roles.id FROM roles LEFT JOIN users ON users.id <= 100 AND users.role_id = roles.id ) roles_users; * Mroongaが 'STRING_FIELD =' のコンディションプッシュダウンで適切なエンコーディングを設定しない問題を修正しました。 以下ケースでは、 Mroongaが 'STRING_FIELD =' の条件をコンディションプッシュダウンしますが、 この時、Mroongaは適切なエンコーディングを検索キーワードに設定しません。 結果として、Mroongaは検索キーワードのノーマライズに失敗します。 CREATE TABLE memos ( id INT PRIMARY KEY, title TEXT, INDEX (title) ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4; INSERT INTO memos VALUES (1, 'Groonga'); INSERT INTO memos VALUES (2, 'Mroonga'); SELECT * FROM memos WHERE title = 'mroonga' ORDER BY id;