表A有id,u_id,name字段,表B有id,u_id,area字段,表A与表B用u_id关联,一对多关系。
select a.u_id,a.name,b.area from a,b where a.u_id=b.u_id;这样查询时间:0.0022S
select a.u_id,a.name,b.area from a,b where a.u_id=b.u_id group by u_id;这样查询时间:1.5S
为什么group by 以后查询速度相差这么多,u_id做了索引。
因为我要显示u_id,name,area列,并且u_id,name不要重复,area可以随便取出一条显示,这样我该怎么做?group by u_id显然效率太差。
比如:
不用group by这样显示
1,1,1
1,1,2
1,1,3
2,2,1
2,2,2
这样速度还快,可是我想这样显示
1,1,1
2,2,1
我用了group by u_id,可效率太糟糕了。
我该如何提高效率?
select a.u_id,a.name,b.area from a,b where a.u_id=b.u_id;这样查询时间:0.0022S
select a.u_id,a.name,b.area from a,b where a.u_id=b.u_id group by u_id;这样查询时间:1.5S
为什么group by 以后查询速度相差这么多,u_id做了索引。
因为我要显示u_id,name,area列,并且u_id,name不要重复,area可以随便取出一条显示,这样我该怎么做?group by u_id显然效率太差。
比如:
不用group by这样显示
1,1,1
1,1,2
1,1,3
2,2,1
2,2,2
这样速度还快,可是我想这样显示
1,1,1
2,2,1
我用了group by u_id,可效率太糟糕了。
我该如何提高效率?
解决方案 »
- 在mysql下插入longblob数据,显示结果为null
- 打印未读系统消息的SQL?
- 求一SQL语句,同时调用3个表
- mysql命令 数据输入输出问题
- 请问大家一个问题,感谢大家的进来。
- 我在使用MySQL的API接口编程时,为什么在对表执行操作时可以锁表而不能解开以锁的表
- 这句SQL怎么写?
- JDBC connector是5.1版本的 但是mysql是5.5版本的 能连接上么
- MyEclipse与MySQL连接后,在数据库中建立teacher表,只要添加了position字段,jsp页面就报错
- 我遇到一个问题,就是我现在有一个数据是一天的,现在我想用mysql语言统计一天内相同IP的个数?我该怎么实现,烦请各位大牛指导,最好有完整的代码。
- PostgreSQL 实用实例参考
- 在使用MySQL时如何更改数据库名及表名?在线等待。。。
explain select a.u_id,a.name,b.area from a,b where a.u_id=b.u_id group by u_id;
把这个输出来看看。。另外给出你的CREATE TABLE,SHOW INDEX。