안녕하세요, 나는 왜 하위 쿼리가 종속 쿼리로 변환되는지 이해하지 못했습니다.하위 쿼리를 종속 하위 쿼리로 변환
기본 쿼리에서 하위 쿼리가 종속 쿼리 테이블을 사용하지 않더라도 종속되지는 않습니다.
나는이 쿼리가 조인을 사용하여 최적화 할 수 있다는 것을 알고 있지만, 여기에 난 그냥 내가 ANY 키워드는 하위 쿼리 외부에서 값을 전달하기 위해 MySQL이 필요합니다 의심이
MYSQL Version 5.5
EXPLAIN SELECT id FROM `cab_request_histories`
WHERE cab_request_histories.id = any(SELECT id
FROM cab_requests
WHERE cab_requests.request_type = 'pickup')
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY cab_request_histories index NULL PRIMARY 4 NULL 20
2 DEPENDENT SUBQUERY cab_requests unique_subquery PRIMARY PRIMARY 4 func 1
기본 쿼리의 모든 행에 대해 하위 쿼리가 실행되고 있습니까? – praveen
아마도 그렇게 생각합니다. 각 id가 history 테이블의 id와 같은지 확인해야합니다 (ANY를 사용할 때는 필요하지 않지만> ANY를 처리 할 수 있으며 IN 절 또는 JOIN이 될 때 = ANY에 대해 최적화되지 않을 수도 있습니다). 더 자연스러운 선택) – Kickstart