CREATE INDEX Statement We can demonstrate this by creating and populating the  customers  table using the following  CREATE TABLE  and  INSERT  statements: First we execute three queries on the  customers  table, one each using  MEMBER OF() , JSON_CONTAINS() , and  JSON_OVERLAPS() , with the result from each query shown here: Next, we run  EXPLAIN  on each of the previous three queries: • JSON_OVERLAPS() mysql>  CREATE TABLE customers ( -> id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> modified DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -> custinfo JSON -> ); Query OK, 0 rows affected (0.51 sec) mysql>  INSERT INTO customers VALUES -> (NULL, NOW(), ’{"user":"Jack","user_id":37,"zipcode":[94582,94536]}’), -> (NULL, NOW(), ’{"user":"Jill","user_id":22,"zipcode":[94568,94507,94582]}’), -> (NULL, NOW(), ’{"user":"Bob","user_id":31,"zipcode":[94477,94507]}’), -> (NULL, NOW(), ’{"user":"Mary","user_id":72,"zipcode":[94536]}’), -> (NULL, NOW(), ’{"user":"Ted","user_id":56,"zipcode":[94507,94582]}’); Query OK, 5 rows affected (0.07 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql>  SELECT * FROM customers -> WHERE 94507 MEMBER OF(custinfo->’$.zipcode’); +----+---------------------+-------------------------------------------------------------------+ | id | modified | custinfo | +----+---------------------+-------------------------------------------------------------------+ | 2 | 2019-06-29 22:23:12 | {"user": "Jill", "user_id": 22, "zipcode": [94568, 94507, 94582]} | | 3 | 2019-06-29 22:23:12 | {"user": "Bob", "user_id": 31, "zipcode": [94477, 94507]} | | 5 | 2019-06-29 22:23:12 | {"user": "Ted", "user_id": 56, "zipcode": [94507, 94582]} | +----+---------------------+-------------------------------------------------------------------+ 3 rows in set (0.00 sec) mysql>  SELECT * FROM customers -> WHERE JSON_CONTAINS(custinfo->’$.zipcode’, CAST(’[94507,94582]’ AS JSON)); +----+---------------------+-------------------------------------------------------------------+ | id | modified | custinfo | +----+---------------------+-------------------------------------------------------------------+ | 2 | 2019-06-29 22:23:12 | {"user": "Jill", "user_id": 22, "zipcode": [94568, 94507, 94582]} | | 5 | 2019-06-29 22:23:12 | {"user": "Ted", "user_id": 56, "zipcode": [94507, 94582]} | +----+---------------------+-------------------------------------------------------------------+ 2 rows in set (0.00 sec) +----+---------------------+-------------------------------------------------------------------+ 4 rows in set (0.00 sec) mysql>  SELECT * FROM customers -> WHERE JSON_OVERLAPS(custinfo->’$.zipcode’, CAST(’[94507,94582]’ AS JSON)); +----+---------------------+-------------------------------------------------------------------+ | id | modified | custinfo | +----+---------------------+-------------------------------------------------------------------+ | 1 | 2019-06-29 22:23:12 | {"user": "Jack", "user_id": 37, "zipcode": [94582, 94536]} | | 2 | 2019-06-29 22:23:12 | {"user": "Jill", "user_id": 22, "zipcode": [94568, 94507, 94582]} | | 3 | 2019-06-29 22:23:12 | {"user": "Bob", "user_id": 31, "zipcode": [94477, 94507]} | | 5 | 2019-06-29 22:23:12 | {"user": "Ted", "user_id": 56, "zipcode": [94507, 94582]} | | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | | 1 | SIMPLE | customers | NULL | ALL | NULL | NULL | NULL | NULL | 5 | mysql>  EXPLAIN SELECT * FROM customers -> WHERE 94507 MEMBER OF(custinfo->’$.zipcode’); 2521