对于集合中的多个查找,我使用:
...
FROM Table1 a, Table2 b
WHERE CONCAT(',',REPLACE(a.options,',',',,'),',') LIKE CONCAT('%,',REPLACE(b.options,',',',%,'),',%')
a.options = '1,2,3,4,5' VARCHAR()
b.options = '2,5,6,9,10' VARCHAR()
a.options
和中的数字b.options
始终按升序排序。作为结果:
WHERE ',1,,2,,3,,4,,5,' LIKE '%,2,%,5,%,6,%,9,%,10,%'
它运作良好,但速度不快。如何使这个查询更快?