sql如下

select  t.id, t.value, tt.sort as sortno
from ENGINEERING_TYPE t
left join ENGINEERING_TYPE tt
on t.parentid = tt.id
where t.delete_flag = 0
and t.hasson = 0
order by sortno, t.sort

sql很简单,相当于自连接 ,返回行数12行,非常小,但是运行5s左右才出结果

看一下执行计划

可以看到,表与表之间走了hash join,我们的一般规律在返回行数较大时,超过万行时,通常使用hash join,在返回行数很少是使用NL连接

修改sql

select /*+ use_nl(t,tt) leading(t) */ t.id, t.value, tt.sort as sortno
from ENGINEERING_TYPE t
left join ENGINEERING_TYPE tt
on t.parentid = tt.id
where t.delete_flag = 0
and t.hasson = 0
order by sortno, t.sort

执行计划如下

执行计划变了,由hash变成了NL

sql的执行速度明显提升,返回实现在0.03秒左右,秒杀。

sql在选择走什么方式的连接的时候,首先要看驱动表与被驱动表返回的行数,这是最基本的判断。

最新文章

  1. http status 状态码汇总
  2. Missing artifact com.microsoft.sqlserver:sqljdbc4:jar:4.0
  3. android 开发 程序中下载安装APK文件 问题汇总 解析程序包时出现问题
  4. nginx做反向代理并防盗链
  5. poj2965枚举
  6. Linux文件系统的主要目录结构说明及分区方案
  7. (六) 6.3 Neurons Networks Gradient Checking
  8. 使用Chrome+node-inspector查找NodeJS内存泄漏
  9. c#数组的交集,差集,并集
  10. 1st day
  11. 阿里巴巴2014研发project师实习生面试经历
  12. 我的redis入门之路
  13. SpringBoot整合系列-整合Swagger2
  14. SAP MM 无价值物料管理的一种实现思路
  15. Gym102040 .Asia Dhaka Regional Contest(寒假自训第9场)
  16. js图片预加载后触发操作
  17. 又见链表 --- 另一种Creat方式与反转
  18. Ubuntu12.04 挂载exFat格式U盘的方法(转)
  19. 了解Python控制流语句——while 语句
  20. MFC多国语言——配置文件

热门文章

  1. AngularJS with MVC4 CRUD
  2. pt-table-checksum 主从复制一致性检查
  3. [转] windows7 IIS管理器 在计算机“.”上没有找到WAS服务
  4. Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
  5. 34、Android中基于Socket的网络通信(一)
  6. Clone PDB from same CDB
  7. android 实现模拟按键
  8. puppet学习:文件夹权限的问题
  9. MapReduce之Partition的使用与分析
  10. HDU-4689 Derangement DP