当前位置:  数据库>oracle

Oracle行迁移和行链接详解

    来源: 互联网  发布时间:2017-05-10

    本文导语: 定义: 行迁移:因为update、将行变长、原来的块已经放不下了、行被挪进新块、 行链接:行一开始就太大、比如你插入了1w个字节的行、必须要分两个块存放、 由此、行变长的时间先后可作为判断依据 产生场景: 行迁移 Oracle...

定义:

行迁移:因为update、将行变长、原来的块已经放不下了、行被挪进新块、

行链接:行一开始就太大、比如你插入了1w个字节的行、必须要分两个块存放、

由此、行变长的时间先后可作为判断依据

产生场景:

行迁移

Oracle会将整行的数据迁移到一个新的数据块上,而将该行原先的空间只放一个指针,指向该行的新的位置,并且该行原先空间的剩余空间不再被数据库使用,这些剩余的空间我们将其称之为空洞,这就是产生表碎片的主要原因,表碎片基本上也是不可避免的,但是我们可以将其降到一个我们可以接受的程度。注意,即使发生了行迁移,发生了行迁移的行的rowid 还是不会变化,这也是行迁移会引起数据库I/O性能降低的原因。

行链接

oracle会使用与该块链接的一块或多块数据块来容纳该行的数据。行连接经常在插入比较大的行时才会发生,如包含long, long row, lob等类型的数据。在这些情况下行链接是不可避免的。

影响DB performance的表现形式

读一行要读两个块,也就是要两次逻辑读

insert or update的性能比较差

利用索引查询已链接或迁移的行的select语句的性能比较差,因为他们需要额外的I/O

如何才能检测到行迁移与行链接

  • SQL> conn / as sysdba 
  • Connected. 
  •  
  • SQL> @?/rdbms/admin/utlchain.sql 
  •  
  • Table created. 
  •  
  • SQL> analyze table hr.DEPARTMENTS LIST CHAINED ROWS; 
  •  
  • Table analyzed. 
  •  
  • SQL> select * from chained_rows; 
  •  
  • no rows selected
  • 另外,如何获知行迁移(行链接)严重的表呢?

    DBA_TABLES视图的CHAINED_CNT列,该列有该表的链接行计数。

    尽管行迁移与行链接是两个不同的事情,但是在oracle内部,它们被当作一回事。所以当你检测行迁移与行链接时,你应该仔细的分析当前你正在处理的是行迁移还是行链接。


        
     
     

    您可能感兴趣的文章:

  • Access2000迁移到Oracle9i要点
  • MySQL数据迁移到Oracle记录
  • 解决系统从Oracle到Sybase的迁移
  • oracle 数据库数据迁移解决方案
  • Oracle 10g同字节序跨平台迁移
  • 深入ORACLE迁移到MYSQL的总结分析
  • Oracle 数据库(oracle Database)性能调优技术详解
  • oracle中lpad函数的用法详解
  • Oracle 12c的九大最新技术特性介绍 iis7站长之家
  • 求.bash_profile配置oracle详解
  • Oracle数据库中分区功能详解
  • oracle指定排序的方法详解
  • 详解如何应用改变跟踪技术加速Oracle递增备份
  • oracle合并列的函数wm_concat的使用详解
  • oracle select执行顺序的详解
  • 使用Oracle数据挖掘API方法详解[图文]
  • Oracle多表级联更新详解
  • 安装Linux与Oracle数据库步骤详解
  • oracle求同比,环比函数(LAG与LEAD)的详解
  • 详解Linux平台下的Oracle数据库编程
  • oracle中去掉回车换行空格的方法详解
  • Oracle中job的使用详解
  • [Oracle] Data Guard 之 Redo传输详解
  • oracle用户权限管理使用详解
  • 深入ORACLE变量的定义与使用的详解
  • 详解Oracle的几种分页查询语句
  • oracle SQL递归的使用详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下用ODBC链接Oracle怎么连啊?跪求具体方法!!!
  • java使用jdbc链接Oracle示例类分享
  • SOS!!!环境:Tomcat4+Oracle8i;链接数据库失败,请各位大虾帮忙指正
  • Oracle Report中加入下载超链接操作方法
  • JAVA简单链接Oracle数据库 注册和登陆功能的实现代码
  • Linux平台下 OCCI 连接 Oracle数据库的链接错误
  • solaris 10 下用OCCI操作oracle 10g链接出错!!!
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • ORACLE日期相关操作
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE数据库常用字段数据类型介绍
  • Linux系统下Oracle的启动与Oracle监听的启动
  • Oracle 12c的九大最新技术特性介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • ORACLE中DBMS_RANDOM随机数生成包
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,