优化sql过程中碰到个问题,表中的属性字段记录了很多属性id,表中总记录为80多万行,每行76列,简化表如下,此前使用的是 like '%,2019,%'这种方式查询,需要1300ms,改成find_in_set方式之后,变成1100ms左右,已经给ids加了索引,但是explain sql发现并没有用到。请问有什么方式可以把这个查询优化到500ms以内?
table prods;
结构如下:
id | ids |
---|---|
1 | 1,2,3,2019,5,4090 |
2 | 10,23,19,2019,500,390 |
3 | 110,203,19,20,500,490 |
select id form prods where ids like '%2019%'; --需要1300ms
select id form prods where ids find_in_set(2019,ids); --需要1100ms