2012-03-20 65 views
1

現在我正在執行下面的一個iphone-app的sql查詢,並且我正在使用HTTP GET。 SQL查詢不包含連接,那麼它是否足夠高效?只有更好的方法來完成嵌套SQL查詢?

SELECT 
    menu_name 
FROM Menus 
WHERE 
    menu_id IN (
    SELECT 
     menus_id 
    FROM Restaurants_Menus 
    WHERE Restaurants_id = '$restaurantID' 
) 

回答

2

你能回答它是否有效足夠。如果它符合你的需求,那就沒問題。

SELECT 
    Menus.menu_name 
FROM 
    Menus 
JOIN Restaurants_Menus ON Menus.menu_id = Restaurants_Menus.menus_id 
WHERE Restaurants_Menus.Restaurants_id = '$restaurantID' 

您可以運行他們都與EXPLAIN以確定正在使用的索引的位置和判斷查詢執行時間:但是,如果你使用一個JOIN它可能會更快。如果Restaurants_Menus不是一個大表,並且Restaurants_id是主鍵,那麼這兩個查詢在執行時間內的差別可能不大。