id for ordinality, amenity_type VARCHAR(100) PATH "$.type", distance float PATH '$.distance_in_meters') ) AS amenities WHERE seats.id = 28100 AND amenities.amenity_type IN ('snacks', 'bar') ORDER BY amenities.distance; +-----+---------------+-----------+ | id | amenity_type | distance | +-----+---------------+-----------+ | 2 | bar | 100.538 | | 3 | snacks | 136.647 | +-----+---------------+-----------+ 2 rows in set (0.00 sec) JSONドキュメントを リレーショナルテー ブル形式に変換可能
• JSONドキュメントの特定の要素を取り出した列を作成 ⇒この列に対してインデックスを作成する 例) ALTER TABLE features ADD feature_type VARCHAR(30) AS (JSON_UNQUOTE(feature->'$.type')); ALTER TABLE features ADD INDEX (feature_type);
2 Installing and Upgrading MySQL https://dev.mysql.com/doc/refman/8.0/en/installing.html • 参考資料 • MySQL 8.0入門セミナー講演資料 (インストール&アーキテクチャ基礎編) https://www.mysql.com/jp/why-mysql/presentations/mysql-80-for- beginners-install-architecture-doc-jp/ 公式バイナリ/リポジトリのインストール方法