이것은 제품 테이블의 구조입니다.
현재 1 백만 개의 레코드가 있습니다. 쿼리 그룹을 &로 주문하면 성능 문제가 있습니다. 쿼리 별 순서대로 그룹화
검색어 :
SELECT product_name FROM vs_product GROUP BY store_id ORDER BY id DESC LIMIT 2
얼마나 빠르게 수행하려면이 쿼리를 개선하기 위해? store_id를 인덱싱했습니다. ID는 기본 키입니다.
select p.*
from product p join
(select store_id, max(id) as maxid
from product p
group by store_id
) psum
on psum.store_id = p.store_id and p.id = maxid
당신은 테이블의 날짜가없는, 그래서 나는 가장 큰 ID가 가장 최근의 있으리라 믿고있어 :
어떤 색인이 테이블에 있습니까? – OldProgrammer
id - PRIMARY (인덱스 이름), store_id - store_id (인덱스 이름) –
이 쿼리가 수행하려고하는 것을 설명 할 수 있습니까? "상점에서 ID의 역순으로 두 개의 임의의 제품 이름을 선택하는 것"이 특히 유용하지는 않습니다. –