嗨,我不明白爲什麼給定查詢的子查詢正在轉換爲依賴子查詢。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 2013-05-02 10:34:55
我想可能是這樣。它必須檢查每個id是否與歷史記錄表中的id相同(使用= ANY時可能不需要,但它可以處理> ANY,並且當IN子句或JOIN爲更自然的選擇) – Kickstart 2013-05-02 10:40:01