누군가가 나를 도울 수 있거나 적어도 올바른 방향으로 나를 가리킬 수 있기를 바랍니다. 저는 제품 사이트에서 일하고 있습니다. 방문자들이 www.asos.com과 비슷한 제품 결과 측면의 메뉴를 사용하여 결과를 필터링 할 수 있습니다. 기본적으로 제품 유형, 스타일, 가격, 적합성 ... 등을 선택할 수 있습니다. 이러한 각 맞춤 유형에는 자체 테이블과 각 값을 제품 테이블에 연결하는 참조 테이블이 있습니다. EG는 다음 필드, colour_id를, 이름 의 Productkey와 Colourref 테이블과, 내가 MySQL과 PHP를 사용하고 colour_id를테이블의 동일한 필드에 대한 다중 쿼리
의 Productkey 및 기타 모든 제품 정보 색상 테이블이있는
제품 테이블이있다. 방문자가 각 필터 유형 중 하나를 선택하고 각 속성의 개수를 표시하는 경우 데이터베이스를 쿼리하고 데이터를 표시하는 방법을 알고 있지만 여러 선택을 한 다음 계산할 수있게하고 싶습니다. 선택된 항목을 기반으로 각 속성의 개수입니다. 이 작업을 수행하는 방법에 대해 살펴 보았습니다. 서브 쿼리가 옵션으로 사용되는 것을 보았습니다. 그러나 9 개의 필터 그룹을 가지고 있는데 필요한 서브 쿼리의 수에 대해 우려하고 있습니다. 값. 현재 데이터베이스에 1/2 백만 개의 제품이 있으며 시간이 지남에 따라 커집니다. 그래서 예를 들어
페이지 = 1 개 &보기 = 20 & 제품 = 125,137,147 & 유형 = 1,3,5 & 색상 = 3,9,5과 같이 URL을 통해 조회 할 필요가있는 값을 캡처하고있어 & 재질 = 187,345
예에서 알 수 있듯이 매번 여러 값을 가질 수 있습니다. AND를 사용하여 쿼리를 작성하려고했습니다. 예 : 제품 = 125 AND 제품 = 137이지만 작동하지 않습니다.
올바른 방향으로 가리키는 사람이라도 누구나 최선의 방법에 대해 조언 해 줄 수 있습니까? 어떤 도움을 크게
을 이해할 수있을 것이다가 사전에 감사
비비안 기본적으로
안녕하세요, 그리스도, 제가 이미 그 답을 알고 있었고 제 질문을 삭제하려하고있었습니다. 나는 IN 대신에 어떤 이유 때문에 AND를 사용하려고 생각하고있었습니다. 도와 주셔서 정말 감사합니다. – Amara
다른 질문이 있는데, 괜찮 으면. 나는 쿼리에서 IN을 사용할 때 MySQL이 컬럼에 설정 한 인덱스를 사용하지 않는다는 것을 알아 차렸다. 그러면 색인을 제거해야합니까? 옵티마이 저가 전체 테이블 스캔 속도가 빠르기 때문에 보통 인덱스를 사용하지 않기로 결정한 경우 다시 – Amara
@ user1147635를 보내 주셔서 감사합니다. 모든 ID 열에 인덱스가 있습니까? 테이블에서 'ANALYZE TABLE
관련 문제