gpt4 book ai didi

mysql - 如何减少 View 的执行时间?

转载 作者:行者123 更新时间:2023-11-29 17:22:25 25 4
gpt4 key购买 nike

这是我的查询:

select count(1) AS `number`,
`pronexo_pronexo`.`unique_products`.`product_id` AS `product_id`,
`pronexo_pronexo`.`products`.`name` AS `name`
from ( `pronexo_pronexo`.`unique_products`
join `pronexo_pronexo`.`products`
on((`pronexo_pronexo`.`unique_products`.`product_id` = `pronexo_pronexo`.`products`.`id`)))
where isnull(`pronexo_pronexo`.`unique_products`.`exit_time`)
group by `pronexo_pronexo`.`unique_products`.`product_id`

这是EXPLAIN的结果:

enter image description here

您知道我应该在哪些列上创建索引以使其更快吗?现在执行大约需要3秒。顺便说一句,目前数据还不是很大。

最佳答案

select  count(1) AS `number`,
u.`product_id`,
p.`name`
from `pronexo_pronexo`.`unique_products` AS u
join `pronexo_pronexo`.`products` AS p
on u.`product_id` = p.`id`
where isnull(u.`exit_time`)
group by u.`product_id`

isnull(u.exit_time) 更改为 u.exit_time IS NULL

INDEX(exit_time, Product_id) 添加到 unique_products

products 中,如果 id 未编入索引,则将其编入索引。

如需进一步讨论,请提供SHOW CREATE TABLE

关于mysql - 如何减少 View 的执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51185761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com