Jest to teraz możliwe z MySQL 8.0.17+
Coś takiego (nie testowane)
CREATE TABLE posts (
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
tags JSON,
INDEX tags( (CAST(tags AS VARCHAR(32) ARRAY)) )
);
Użyj go w ten sposób:
SELECT * FROM posts
WHERE JSON_CONTAINS(tags, CAST('[tag1, tag2]' AS JSON));
Więcej szczegółów i przykładów tutaj:https://dev.mysql.com /doc/refman/8.0/en/json.html