gpt4 book ai didi

php - mysql-当我使用子查询时,为什么要花这么多时间来执行?

转载 作者:行者123 更新时间:2023-11-29 07:27:44 26 4
gpt4 key购买 nike

所以我想知道为什么要花这么多时间。

我的查询是

SELECT prd.product_id,prd.product_name,
(prd.product_price+po.additional_price) AS product_price,
prd.date_added,po.discount,cat.category_name,payment_status,
(SELECT COUNT(pi.product_impression_id)
FROM product_impression pi
WHERE pi.product_id = prd.product_id) AS impression_count
FROM products prd
INNER JOIN product_options po
ON po.product_id = prd.product_id
AND po.default_option = 'YES'
INNER JOIN categories cat
ON prd.product_category = cat.category_id
WHERE prd.product_artist_id = 103
ORDER BY prd.product_id DESC

当我删除以下代码表单查询时,就没有问题了。

(SELECT COUNT(pi.product_impression_id) 
FROM product_impression pi
WHERE pi.product_id = prd.product_id) AS impression_count

请告诉我为什么?

最佳答案

我们可以使用oracle中的解释计划来查找查询的执行计划,即扫描表的类型。例如:全表扫描、索引唯一扫描等。

尝试使用explain查找上述查询的执行计划。

并检查索引是否被使用,并发布解释的输出,以便我们进一步分析。

谢谢

关于php - mysql-当我使用子查询时,为什么要花这么多时间来执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33951435/

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