慢查询的问题?

QuinsonYue 2008-09-23 08:53:23
wer.dp_sigs表数据有200w,下面这条语句的查询竟然花了20秒的时间,前提是modifyat与type1都建立了索引,有什么方法能再优化?
select md5, name, tags1 from
wer.dp_sigs where modifyat <= (select modifyat from
wer.dp_sigs where type1=3 order by modifyat desc limit 0,1) and type1=3
order by modifyat desc limit 30

之前看过一篇文章的介绍,上面这查询的写法明显比下面这查询语句要快。

select md5, name, tags1 from
wer.dp_sigs where type1=3 order by modifyat desc limit 0,30



大伙有没有更好的解决方法啊,其实我要的结果就是分页,前提是modifyat必须要排倒序。
...全文
88 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyz0832 2008-12-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yueliangdao0608 的回复:]
引用 2 楼 km_yu 的回复:
老兄,没必要我就不会这样写了,仔细看看我描述的内容先吧!你这样的答案根本就是多余!



我是菜鸟。那你自己搞定吧。
[/Quote]
。。。
懒得去死 2008-12-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 km_yu 的回复:]
老兄,没必要我就不会这样写了,仔细看看我描述的内容先吧!你这样的答案根本就是多余!

[/Quote]

我是菜鸟。那你自己搞定吧。
zzcv_ 2008-12-03
  • 打赏
  • 举报
回复
子查询的目的是缩小范围,借助索引范围优化。。不过俺不觉得这样有效。
索引应该是modifyat打头的联合索引
luosai 2008-12-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bill830711 的回复:]
引用 1 楼 yueliangdao0608 的回复:
你中间的子查询根本就没有必要!!


SQL code
select `md5`,
name,
tags1
from wer.dp_sigs
where type1 = 3
order by modifyat desc
limit 30;

对应索引:
alter table wer.dp_sigs add key idx_type1_modifyat(type1,modifyat);



确实没看出中间的子查询有什么必要
bill830711 2008-12-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yueliangdao0608 的回复:]
你中间的子查询根本就没有必要!!


SQL code
select `md5`,
name,
tags1
from wer.dp_sigs
where type1 = 3
order by modifyat desc
limit 30;

对应索引:
alter table wer.dp_sigs add key idx_type1_modifyat(type1,modifyat);
[/Quote]


确实没看出中间的子查询有什么必要

不过觉得索引的话 需要对 type1 和 modifyat 分别建立索引
fcoolx 2008-12-02
  • 打赏
  • 举报
回复
我认为1楼说的是有道理的
add key idx_type1_modifyat(type1,modifyat);
加上这就可以解决
QuinsonYue 2008-12-02
  • 打赏
  • 举报
回复
老兄,没必要我就不会这样写了,仔细看看我描述的内容先吧!你这样的答案根本就是多余!
懒得去死 2008-09-24
  • 打赏
  • 举报
回复
你中间的子查询根本就没有必要!!


select `md5`,
name,
tags1
from wer.dp_sigs
where type1 = 3
order by modifyat desc
limit 30;

对应索引:
alter table wer.dp_sigs add key idx_type1_modifyat(type1,modifyat);

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧