[英]Performance Tuning--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
在这里,我正在获取有关商店中有多少商店以及如何出租的详细信息。
以我的经验,子选择在MySQL中的表现很差。 临时表可能是一个更好的解决方案。
将IN ( SELECT ... )
变成JOIN。
添加INDEX(store_id, film_id, inventory_id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.