최근에 Redis와 MongoDB를 실험 해 왔으며 MongoDB 또는 Redis 에 ID 배열을 저장하는 경우가 종종있는 것 같습니다 . MySQL IN 연산자 에 대해 묻고 있으므로이 질문에 대해 Redis를 계속 사용하겠습니다 .
IN 연산자 내부에 많은 수 (300-3000)의 ID 를 나열하는 것이 얼마나 성능이 좋은지 궁금합니다 .
SELECT id, name, price
FROM products
WHERE id IN (1, 2, 3, 4, ...... 3000)
특정 범주 의 제품 을 가져 오기 위해 일반적으로 함께 조인 할 수 있는 제품 및 범주 테이블 처럼 간단한 것을 상상해보십시오 . 위의 예에서 Redis ( ) 의 지정된 카테고리 아래에서 ID가 4 인 카테고리의 모든 제품 ID를 반환 하고 연산자 내부의 위 쿼리에 배치하는 것을 볼 수 있습니다.category:4:product_ids
SELECT
IN
얼마나 성능이 좋은가요?
이것이 "의존적"상황입니까? 또는 구체적인 "허용되지 않음"또는 "빠름"또는 "느림"이 LIMIT 25
있습니까? 아니면을 추가해야합니까 , 아니면 도움이되지 않습니까?
SELECT id, name, price
FROM products
WHERE id IN (1, 2, 3, 4, ...... 3000)
LIMIT 25
아니면 Redis에서 반환 한 제품 ID 배열을 잘라서 25 개로 제한하고 쿼리에 3000 개가 아닌 25 개 ID 만 추가하고 쿼리 LIMIT
내부에서 25 개로 지정해야 합니까?
SELECT id, name, price
FROM products
WHERE id IN (1, 2, 3, 4, ...... 25)
모든 제안 / 피드백은 대단히 감사합니다!