[英]Performance Tuning--Mysql
Is there any scope of tuning below query and increase the performance 查询下方是否有任何调优范围,可以提高性能
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
Here I am fetching details on how many are there in store and how may rented out . 在这里,我正在获取有关商店中有多少商店以及如何出租的详细信息。
In my experience, subselects perform poorly in MySQL. 以我的经验,子选择在MySQL中的表现很差。 Temporary tables may be a better solution.
临时表可能是一个更好的解决方案。
Turn IN ( SELECT ... )
into a JOIN. 将
IN ( SELECT ... )
变成JOIN。
Add INDEX(store_id, film_id, inventory_id)
添加
INDEX(store_id, film_id, inventory_id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.