下面的查询有没有调优的余地,可以提高性能
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
在这里,我正在获取关于商店中有多少以及如何出租的详细信息。
发布于 2017-11-08 00:08:23
根据我的经验,子选择在MySQL中的表现很差。临时表可能是更好的解决方案。
发布于 2017-11-09 11:03:31
将IN ( SELECT ... )
转换为连接。
添加INDEX(store_id, film_id, inventory_id)
https://stackoverflow.com/questions/47161807
复制相似问题