SELECT goods_name
FROM ecs_goods
WHERE cat_id
IN ('9','10','12','13','14') AND goods_name
LIKE '%3%'
문제점을 지적해주세요
어떤 형식이 맞는지 마스터에게 물어보세요
SELECT goods_name
FROM ecs_goods
WHERE cat_id
IN ('9','10','12','13','14') AND goods_name
LIKE '%3%'
문제점을 지적해주세요
어떤 형식이 맞는지 마스터에게 물어보세요
형식이 맞는데 무엇이 문제인가요?
이 말이 맞습니다.
문은 괜찮지만 데이터의 양이 조금 더 커지면 속도가 매우 느려지므로 유일한 최적화 포인트는 cat_id에 인덱스를 추가하는 것입니다. 하지만 올바르게 추측했다면 이 필드는 값이 반복되는 범주형 필드이므로 인덱스를 추가해도 소용이 없습니다.
이와 같은 SQL이 많은 경우 검색 시스템, Elastic Search 또는 Solr을 사용하는 것이 좋습니다.
SELECT products_name FROM ecs_goods WHERE (cat_id = '9'or cat_id ='10' or cat_id ='12' or cat_id ='13' or cat_id ='14') AND products_name LIKE '%3%'
두 가지 조건이 and이기 때문에 따로 실행해도 되고, 먼저 넣고 결과에 좋아요를 눌러도 될 것 같아요