Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :indexer des tableaux json de longueur variable ?

C'est maintenant possible avec MySQL 8.0.17+

Quelque chose comme ça (non testé)

CREATE TABLE posts (
    id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    tags JSON,
    INDEX tags( (CAST(tags AS VARCHAR(32) ARRAY)) )
    );

Utilisez-le de cette façon :

SELECT * FROM posts 
         WHERE JSON_CONTAINS(tags, CAST('[tag1, tag2]' AS JSON));

Plus de détails et d'exemples ici :https://dev.mysql.com /doc/refman/8.0/en/json.html