gpt4 book ai didi

php - 如何选择 mysql 两列取最后 200 个 id order desc,然后通过 count desc 获得 5 个 order 以获得最佳性能

转载 作者:行者123 更新时间:2023-11-28 23:16:05 28 4
gpt4 key购买 nike

我的表有百万条记录。我只想提取最后 200 行中计数器最多的 5 行。

我正在使用它,但我认为这是两次选择.. 这可能不适合最佳性能,请提出建议。

"select * from (
select sid,title,catid,counter from table_stories
where catid=1 order by sid desc limit 200
) astemps order by counter desc limit 5"

非常感谢..问候

最佳答案

这是您的查询:

select *
from (select sid, title, catid, counter
from table_stories
where catid = 1
order by sid desc
limit 200
) astemps
order by counter desc
limit 5;

为了获得最佳性能,您需要在 table_stories(catid, sid desc) 上建立索引。您可以将 titlecounter 放入索引中,但它们不会有太大帮助。不幸的是,MySQL 可能不会利用降序键来代替排序。

关于php - 如何选择 mysql 两列取最后 200 个 id order desc,然后通过 count desc 获得 5 个 order 以获得最佳性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43821445/

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