oracle explain 分析 SQL 时, buffer sort 耗时将近 16K 大概是怎么回事呢? 如题,今天在写SQL的时候遇到一个非常怪的问题,总共只有4000条记录的一个查询语句整整执行了12分钟,这让人无法忍受!所以特地的explain了一下,结果如下图 我诧异的发现图中竟然出现了meger join outer并且耗时在16K左右,再仔细往里面看发现耗时的主要原因就是buffer sort,百度、谷歌了一下都没有我中意的答案,有没有大哥碰到过类似的问题,给我解答一下,不甚感激。oracle 版本为11.0.4.0 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看到很多cost为0的操作,先把涉及到的表与索引的统计信息收集一遍再看计划。 1、看不到楼主整个计划的全貌,因此,也不能详细的确认和分析,但个人认为buffer sort的cost可能是错的,那个节点的cost应该很低;2、整个SQL可能包含多个子SQL形成的union all,主要的cost应该在头两个子SQL,而第二个子SQL的cost主要消耗在其中的一个NL节点上,而非buffer sort节点,具体如图红线所示。 不好意思,我也不知道怎么编辑已经发出的帖子,只能再发一楼,干脆说下第一个子SQL的瓶颈点,和上面回帖中的第二个子SQL类似,也是一个NL节点,具体如图中红线所示。 左连接表连接重复值 如何计算当前时间加 一小时后的时间?一个月呢? 导入sql太慢 小弟跪求!想导出oracle中一个表的部分列,请高手们帮忙啊 新手问两个基础问题 表空间问题!在线等!!! 字段名与关键字冲突如何解决 急问在vb.net中项oracle插入数据insert时,怎样同时得到它的RowID? plsql编译报错,程序中有update另外一个用户的表!!! 如何创建oracle数据库,使用的是odbc方法连接数据库。 ORACLE查询卡死的问题 新手请教sqlplus与oracle基础问题
2、整个SQL可能包含多个子SQL形成的union all,主要的cost应该在头两个子SQL,而第二个子SQL的cost主要消耗在其中的一个NL节点上,而非buffer sort节点,具体如图红线所示。