MySql 中的 FIND_IN_SET 的使用和相关问题

MySql 中的 FIND_IN_SET 的使用和相关问题

QQ 群里有人讨论如果在 category_ids 中打开 12 的分类,而 category_ids 中的 ID 是以 逗号分开的。

使用 LIKE 一定是不行的。

于是我找了一下,发一个 FIND_IN_SET 的函数[1],可以在 SQL 中找到相关对应的 ID。

SELECT * FROM `fa_test` WHERE FIND_IN_SET(12,`category_ids` ) LIMIT 0, 1000

而且 FastAdmin 中的 Bootstrap-Table 搜索中也可以使用 FIND_IN_SET

群里的大饼也提出一个问题:

【话唠】 ★大饼-山东 2018/4/3 11:02:13
find_in_set 全表扫描啊
11:03:03
【话唠】 ★大饼-山东 2018/4/3 11:03:03
如果操作频繁不如新建一个 k->v 的关系map表


  1. mysql数据库中find_in_set()和in()用法区别 http://www.111cn.net/database/mysql/50190.htm ↩︎

原文地址:https://www.cnblogs.com/F4NNIU/p/mysql-find-in-set.html