我有这个查询来选择最小的ID。它似乎在前几次点击中运行良好,但当我继续点击调用此查询的按钮时,它会变得非常缓慢。mysql select min性能问题
此查询的任何解决方法?
"select min(t1.blog_id) as min_id
FROM
(SELECT blog_id FROM myblogs_view
where blog_id<'$id' ORDER BY blog_id DESC LIMIT 10) as t1";
我有这个查询来选择最小的ID。它似乎在前几次点击中运行良好,但当我继续点击调用此查询的按钮时,它会变得非常缓慢。mysql select min性能问题
此查询的任何解决方法?
"select min(t1.blog_id) as min_id
FROM
(SELECT blog_id FROM myblogs_view
where blog_id<'$id' ORDER BY blog_id DESC LIMIT 10) as t1";
有一两件事我想补充:如果您使用查询分页,你应该看看How can I speed up a MySQL query with a large offset in the LIMIT clause?
你可能会问,为什么是它有关?你描述了当你点击下一页时,你的查询运行缓慢,当你点击继续。这可能是当你达到很大的偏移量时。我的猜测是你使用你的查询来计算一个偏移量,然后你用它来获取带有限制偏移量查询的相关记录。那是对的吗?如果是这样,那么你的其他查询可能会从我提供的链接中受益(我不是该答案的作者,在信用到期时给予信用)。
“继续点击”是什么意思?这个查询是否每次都被执行_exactly_,或者做了什么改变? – 2011-04-30 10:00:30
这是我的下一页获取最小ID的查询。所以每次点击下一页按钮时,都会执行此查询。 – drew 2011-04-30 10:04:08