一、行迁移/行链接的介绍 在实际的工作中我们经常会碰到一些oracle数据库性能较低的问题,当然,引起oracle数据库性能较低的原因是多方面的,我们能够通过一些正确的设计和诊断来尽量的避免一些oracle数据库性能不好,row migration (行迁移) & row chaining (行链接)就是其中我们可以尽量避免的引起oracle数据库性能低下的潜在问题。通过合理的诊断行迁移/行链接,我们可以较大幅度上提高oracle数据库的性能。 那究竟什么是行迁移/行链接呢,先让我们从oracle的block开始谈起。 操作系统的最小读写操作单元是操作系统的block,所以当创建一个oracle数据库的时候我们应该讲数据库的block size设置成为操作系统的block size的整数倍,oracle block是oracle数据库中读写操作的最小单元,oracle9i之前的oracle数据库版本中oracle block一旦在创建数据库的时候被设定后就没法再更改。为了在创建数据库之前确定一个合理的oracle block的大小,我们需要考虑一些因素,例如数据库本身的大小以及并发事务的数量等。使用一个合适的oracle block大小对于数据库的调优是非常重要的。oracle block的结构如下图所示: 图一:oracle block结构图 由上图我们可以看出,一个oracle block由三个部分组成,分别是数据块头、自由空间、实际数据三部份组成。