gpt4 book ai didi

MySQL 查询运行*非常*慢

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

我有一个运行非常慢的 sql 查询,我很困惑为什么。查询是:

SELECT DISTINCT(c.ID),c.* FROM `content` c 
LEFT JOIN `content_meta` cm1 ON c.id = cm1.content_id
WHERE 1=1
AND c.site_id IN (14)
AND c.type IN ('a','t')
AND c.status = 'visible'
AND (c.lock = 0 OR c.site_id = 14)
AND c.level = 0
OR
(
( c.site_id = 14
AND cm1.meta_key = 'g_id'
AND cm1.meta_value IN ('12','13','7')
)
OR
( c.status = 'visible'
AND (
(c.type = 'topic' AND c.parent_id IN (628,633,624))
)
)
)
ORDER BY c.date_updated DESC LIMIT 20

内容表大约有 1250 行,内容元表大约有 3000 行。这不是很多数据,我不太确定是什么导致它运行如此缓慢。任何想法/意见将不胜感激。

谢谢!

最佳答案

你的where子句正确吗?您正在创建一系列 AND 语句,然后执行 OR。

正确的不是这样的吗:

AND (c.lock = 0 OR c.site_id = 14) 
AND (
( ... )
OR
( ... )
)

如果确实正确,您可以考虑更改结构或在脚本或过程中处理结果。

关于MySQL 查询运行*非常*慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13648133/

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