gpt4 book ai didi

mysql - 不确定发生了什么的繁重查询

转载 作者:搜寻专家 更新时间:2023-10-30 23:02:33 27 4
gpt4 key购买 nike

我有一个像这样的 SQL 查询,它需要大量的加载......

不确定这里发生了什么......如果有人可以帮助我。

SELECT  `posts`.* FROM `posts`  
WHERE `posts`.`type`
IN ('MySubDomainSitePost')
AND `posts`.`aasm_state` = 'published'
AND (published_at <= '2015-05-12 01:01:01')
AND `posts`.`on_frontpage` = 1
AND `posts`.`is_pinned` = 0
ORDER BY published_at DESC LIMIT 16

最佳答案

您需要使用explain select 检查查询性能。现在对于大型数据集,如果列没有索引,查询将执行得非常差。

根据给定的查询,您可能需要添加以下索引

alter table posts 
add index p_search_idx(type,aasm_state,published_at,on_frontpage,is_pinned);

这将提高查询速度。

确保在应用索引之前对表进行备份。

并且无需在查询中使用 IN 就可以了

SELECT  `posts`.* FROM `posts`  
WHERE `posts`.`type` = 'MySubDomainSitePost'
AND `posts`.`aasm_state` = 'published'
AND (published_at <= '2015-05-12 01:01:01')
AND `posts`.`on_frontpage` = 1
AND `posts`.`is_pinned` = 0
ORDER BY published_at DESC LIMIT 16

关于mysql - 不确定发生了什么的繁重查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30207813/

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