Oracle in和exists效率问题分析
2013-06-24 21:07
120 查看
--------------------------in和exists效率问题-------------
单说in和exsist,in的效率较差。
关于EXISTS与IN的区别:
EXISTS检查是否有结果,判断是否有记录,返回的是一个布尔型(TRUE/FALSE)。
IN是对结果值进行比较,判断一个字段是否存在于几个值的范围中,所以 EXISTS 比 IN 快。
主要区别是:
exists主要用于片面的,有满足一个条件的即可,
in主要用于具体的集合操作,有多少满足条件.
exists是判断是否存在这样的记录,
in是判断某个字段是否在指定的某个范围内。
exists快一些。
注意有时不一定的:in适合内外表都很大的情况,exists适合外表结果集很小的情况。
------------------ 查找前十条性能差的sql----------------------
脚本:查找前十条性能差的sql
SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS,
COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea
order BY disk_reads DESC )where ROWNUM<10 ;
单说in和exsist,in的效率较差。
关于EXISTS与IN的区别:
EXISTS检查是否有结果,判断是否有记录,返回的是一个布尔型(TRUE/FALSE)。
IN是对结果值进行比较,判断一个字段是否存在于几个值的范围中,所以 EXISTS 比 IN 快。
主要区别是:
exists主要用于片面的,有满足一个条件的即可,
in主要用于具体的集合操作,有多少满足条件.
exists是判断是否存在这样的记录,
in是判断某个字段是否在指定的某个范围内。
exists快一些。
注意有时不一定的:in适合内外表都很大的情况,exists适合外表结果集很小的情况。
------------------ 查找前十条性能差的sql----------------------
脚本:查找前十条性能差的sql
SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS,
COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea
order BY disk_reads DESC )where ROWNUM<10 ;
相关文章推荐
- 分析in和exists的区别与执行效率的问题
- 分析in和exists的区别与执行效率的问题
- 分析in和exists的区别与执行效率的问题 (2)
- 分析in和exists的区别与执行效率的问题 (3)
- Oracle In和exists not in和not exists的比较分析
- sql中 in , not in , exists , not exists效率分析
- exists与inner join的效率问题
- sql中in和exists的区别效率问题
- 索骥馆-效率管理之《凡事巧于方法:分析问题和解决问题的精妙解析》高清扫描版[PDF]
- in 和 exists效率问题
- sql中in和exists的区别效率问题
- sql中in和exists的区别效率问题 转
- sql中in和exists的区别效率问题 转
- in和exists的区别与SQL执行效率分析
- sql中in和exists的区别效率问题(转)
- 从分析SQLSERVER ERRORLOG查找错误折射出的工作效率问题
- sql中in和exists效率问题 转自百度知道
- 通过logminer分析truncate与delete删除数据的效率问题
- sql中in和exists的区别效率问题
- Mysql之exists和inner join效率问题(2)