表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,可效率太糟糕了。
我该如何提高效率?