2017-11-07 20 views
0

がクエリ以下のチューニングのいずれかの余地があるとパフォーマンスを向上させるパフォーマンスチューニング - MySQLの

SELECT 
    i.store_id, 
    i.film_id, 
    COUNT(*) AS total, 
    COUNT(*) - (
     SELECT COUNT(*) 
     FROM rental 
     WHERE 
      inventory_id IN (SELECT inventory_id FROM inventory 
          WHERE inventory.film_id = i.film_id AND 
            inventory.store_id = i.store_id) 
    ) 
FROM `inventory` i 
GROUP BY 
    i.store_id, 
    i.film_id 

ここで私は店にあるどのように多くの詳細を取得していますし、どのように貸し出すことがあります。

+0

を追加します。 –

+0

"in"をインナー・ジョインに変換する – Gar

+0

レコードをフェッチする..何個のビデオがストアにあり、何人がレンタルしているか –

答えて

0

私の経験では、副選択はMySQLでうまく機能しません。テンポラリテーブルを使用する方がよいでしょう。

0

IN (SELECT ...)をJOINにします。

はあなたにも、このクエリがやっていることになっているものを教えている場合それは役に立つかもしれませんINDEX(store_id, film_id, inventory_id)

関連する問題