免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2012 | 回复: 4
打印 上一主题 下一主题

排序时,如果使用了临时段,就效率低,因为需要读写硬盘。临时段不也是在SGA中的吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-20 11:37 |只看该作者 |倒序浏览
排序时,如果只使用了SORT_AREA_SIZE,就效率高,因为不需要读写硬盘;如果使用了临时段,就效率低,因为需要读写硬盘。
这句话,我不明白,临时段不也是在SGA中的吗?和SORT_AREA_SIZE不都是在内存中的吗?

论坛徽章:
0
2 [报告]
发表于 2009-03-20 12:10 |只看该作者
先弄懂pga 再说吧

sort area 在pga 中,不是sga。 temp segment 是在硬盘文件中。

论坛徽章:
0
3 [报告]
发表于 2009-03-20 17:03 |只看该作者
原帖由 Meets_fan 于 2009-3-20 12:10 发表


sort area 在pga 中,不是sga。 temp segment 是在硬盘文件中。



四种段:数据段、索引段、回滚段、临时段,这些需要读写数据的段,我的理解,都要先在SGA中产生出来,然后在这四种段中,根据情况,进行相应的数据读写。
那么,如果排序使用了临时段,为什么就特别慢呢?
硬盘文件.dbf里面,怎么会有 temp segment 呢?

论坛徽章:
0
4 [报告]
发表于 2009-03-20 17:12 |只看该作者
temp segment 就是临时段!

数据先读入data buffer 中,但并不排序。排序是在pga 中的sort area 中,如果pga 的内存不足,就只能在硬盘上排序了。所以性能底下。(sga, pga 都是实际内存)

另外: 你考虑 为什么要有temp tablespace, 它的作用是什么呢?

论坛徽章:
0
5 [报告]
发表于 2009-03-20 17:15 |只看该作者
“四种段:数据段、索引段、回滚段、临时段,这些需要读写数据的段,我的理解,都要先在SGA中产生出来" 他们都在硬盘上,需要的时候从硬盘读入内存。
其中 临时段 只有一定sort ,hash jion 等情况下才产生的,使用结束后 自己释放。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP