如何改进mysql查询?

时间:2012-03-23 22:26:50

标签: mysql sql

你能帮助我更快地完成这个查询吗?我的查询是可行的,但速度太慢:'(

我希望从我的表中获取所有行,其中coloumn word的值不止一次。

我的查询如下:

select * from `t` 
where id in (select id from `t` group by word having count(*)>1)

3 个答案:

答案 0 :(得分:3)

以下查询应该可以为您提供更准确的结果...索引word可以提高您的效果:

select t1.* 
from new as t1 
join (select word from new group by word having count(*) > 1) as t2
on t1.word = t2.word

答案 1 :(得分:0)

select new.* from new 
JOIN (select word from new group by word having count(*)>1) AS new1
USING (word)

答案 2 :(得分:0)

添加索引可以加快查询速度(没有关于如何创建表格的详细信息)。

FIXED :好的,弄错了,没有子查询,你可以得到几次但不是所有的行,而你确实需要所有的行。