2012-03-20 9 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

あなただけが答えることができます。それがあなたのニーズを満たしていれば、大丈夫です。あなたはインデックスが使用されている場所を特定し、クエリの実行時間を判断するためにそれらをEXPLAINとの両方を実行することができます

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

:あなたはJOINを使用している場合しかし、それは速くなることがあります。 Restaurants_Menusが大きなテーブルでなく、Restaurants_idがプライマリキーである場合、2つのクエリは実行時間が大きく異なる可能性がありません。

関連する問題