mysql json是一个id数组,怎么查找包含指定id的记录?

表中有orders字段是JSON类型,存储这类似 [1, 2, 3]这样的id数组
给定一个数组搜索条件[1, 2]
怎么查出包含数组条件任意一项值的记录?

SELECT * FROM trade WHERE orders LIKE "%1%" OR orders LIKE "%2%";

像上面这个语句一样,但这是通过字符串搜的,效率也非常低下,想请问是否有效率高点的,JSON查询的方式?

阅读 8.8k
3 个回答

JSON_CONTAINS 的第二个参数必须是字符串。

SELECT * FROM `trade` where JSON_CONTAINS(orders, '1','$')

图片.png

图片.png

这样存储后查询效率好低的

新手上路,请多包涵

bitmap

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏