4表联查
SELECT u.id,r.id,e.name FROM U u join O on(u.id = o.id) join R r on (u.id = r.id) join E e on(r.id = e.id)
请问在数据量达到多少的时候此语句效率低下,如果要提高效率如何写SQL语句

解决方案 »

  1.   


    /--试一下:
     
    SELECT u.id, r.id, e.name
      FROM U, O, R, E
     where u.id = o.id
       and u.id = r.id
       and r.id = e.id;
      

  2.   

    on条件后的各表id建立索引.这样的表连接,如果没有其它查询限制条件的话,查询时间肯定是会随着数据量增大而增加的.
      

  3.   

    提高效率方法:
    1。给u创建id列的index,o创建id列的index,r创建id列的index,e创建(id,name)列的组合index。
    2.最好给出其它的筛选条件,否则总会有一天慢的无法忍受。
      

  4.   

    u创建id列的index,o创建id列的index,r创建id列的index,e创建(id,name)列的组合index。 
      

  5.   

    没看清,应该象oracledbalgtu所说那样,有个复合索引e(id,name)
      

  6.   

    我估计,四个表,每个表1W左右的数据,
    在pc机上执行就会出现严重性能问题