find_in_set函数如何优化

【产品名称】

【产品版本】

【问题描述】

我发现我们一些sql中都用了find_in_set函数,导致很多都全表扫描,请问下这种函数如何优化哪?改成in ?

还是是否有函数索引?

可以看看explain,为啥没有走索引

可以使用函数索引,试试类似这样的用法

CREATE TABLE t (c1 varchar(100), c2 BIGINT UNSIGNED AS (find_in_set('a', c1)) VIRTUAL, INDEX (c2));
SELECT * FROM t WHERE find_in_set('a', c1) > 2;

计划显示使用了c2上的索引