Ora è possibile con MySQL 8.0.17+
Qualcosa del genere (non testato)
CREATE TABLE posts (
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
tags JSON,
INDEX tags( (CAST(tags AS VARCHAR(32) ARRAY)) )
);
Usalo in questo modo:
SELECT * FROM posts
WHERE JSON_CONTAINS(tags, CAST('[tag1, tag2]' AS JSON));
Maggiori dettagli ed esempi qui:https://dev.mysql.com /doc/refman/8.0/en/json.html