网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.为什么有时Oracle数据库不用索引.
.9i新特性之——在线表格重定义研.
.MSCS+FailSafe 双机集群做HA 小结.
.ORACLE问题,每天10问(八).
.ORACLE9i 的透明网关的配置.
.Oracle中使用SQL MODEL定义行间计.
.Oracle Portal及其门户网站.
.Oracle9i的简化SQL语法.
.Oracle性能优化系列讲座之技巧篇.
.甲骨文参加泛珠三角区域软件产业.
.日期时间转换为日期的SQL语句.
.Oracle数据库系统的安全策略.
.安装 PHP 和 Oracle 10g 即时客户.
.将oracle加载为linux标准系统服务.
.连接oracle10g免安装客户端解决办.
.9istatspack使用手册.
.联机热备份失败后,如何打开数据.
.设置TOMCAT PATH,CLASSPATH变量.
.设置 XFree86 ( XF86Config ).
.轻松六步使你的Oracle存储过程迅.

关于排序、sort_area_size、临时表空间

发表日期:2008-2-9



  简单陈述一下:
  
  针对每个session,排序首先会使用sort_area_size ,假如不足则会使用临时表空间。但这里面又到底是怎么一个过程呢?下面阐述一下,也许对大家有用处(假如有什么不清楚或者不恰当的地方欢迎大家探讨)
  
  假设sort_area_size = 100k,正好能盛下100条记录进行排序
  
  当排序记录小于等于100条,ok,所有排序在内存中进行,很快
  但若超过100条,则会使用临时表空间(利用磁盘进行)
  我们选取一个临界值来说明,假设需要排序的记录有10010条
  
  这个时候我们进行的排序会分为101组进行
  每读100条进行一次小组排序,然后写入磁盘,第101组只有10条,排序后也写入磁盘
  
  这是进行第二次排序,这次排序将在前100小组里面各抽取一条进行排序。《按照我个人的猜测,应该是排好后每写入一条入磁盘则将该记录所在小组重新抽取一条出来进行排序(这时是有序记录组里面所以很快)》。当这个过程完成后,这时所需要的磁盘空间大约为 实际记录存储空间的2倍(这也是多数书上提到的排序空间大约是记录空间的2倍的原因)
  
  由于还剩下10条记录,于是这10条记录需要跟前面排序的10000条记录进行排序合并,这个代价也是相当大的!
  
  所以,我们通常推荐,假如你需要排序的记录最大为100万条,则sort_area_size最小要能装下1000条,否则如上面的例子,那多余的10条,仅仅10条将会带来巨大的代价!
  
  假如,设置的极度不合理的情况下,排序记录达到了 sort_area_size所能容纳的三次方以上,比如上面例子中排序需要100万记录
  那么同样的,重复这个过程,当每一万条记录如上排序后,再如上从这100小组(每组10000条记录)各抽一条进行排序……
  
  在这个过程中,磁盘的消耗和时间的代价大家都应该有个感性熟悉了
  所以,我们建议: sprt_area_size 所能容纳记录数至少大于排序记录数的 平方根
  
  Oracle文档
  http://download-west.oracle.com/docs/cd/A87861_01/NT817EE/index.htm
上一篇:感受“酷”的力量 人气:589
下一篇:用Oracle9i确定数据存储大小 人气:629
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐