>  기사  >  백엔드 개발  >  데이터베이스 쿼리문

데이터베이스 쿼리문

WBOY
WBOY원래의
2016-08-08 09:06:57904검색

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이기 때문에 따로 실행해도 되고, 먼저 넣고 결과에 좋아요를 눌러도 될 것 같아요

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.