解决方案 »

  1.   

    表e_practice 和e_basic_info 都是大数据表,加了order by就非常慢,不加就很快查询出来
      

  2.   

    e_name 有没有索引呢,关联字段也可以加的
      

  3.   

    大数据 你加order by 肯定慢了
      

  4.   

    还有就是 可能你是在plsql developer或者类似工具里测试的,因为返回的结果多,而不加order by的时候,返回前几行是很快的,所以你认为这时候执行时间很短,而加了order by,无法快速的返回前几行,所以就感觉加了order by时间慢了很多
      

  5.   


    去掉order by 后执行计划如下,请帮我看一下:
      

  6.   

    从执行计划来看,表的统计信息严重偏差
    在这个执行计划下,a表为小表,因此以它为驱动,来关联t表,因此t表上排序字段建索引没用
    不排序很快,是因为结果很大,在first_rows模式下,在pl/sql dev中返回了前几行给你,而排序需要将所有结果先取出来才能进行