《第20章Oracle8.x调整问题》经典教育丛书.pdfVIP

  • 2
  • 0
  • 约 8页
  • 2017-10-21 发布于浙江
  • 举报

《第20章Oracle8.x调整问题》经典教育丛书.pdf

下载 第20章 Oracle 8.x调整问题 本章要点: 分区 唯一索引表 并行数据控制语言 大池与非常大的内存 网络增强 数据库限制 第1 6章适用于任何厂家的 R D B M S软件或版本,并且第 1 7 ~ 1 9章中的大部分适用于 O r a c l e 7 . x和Oracle 8.x 的R D B M S ,而本章几乎是专门适用于 Oracle 8.x 的R D B M S 的。你将了解一下 输入/输出、内存和网络关于性能的改进。 20.1 分区 当然,在Oracle 7.x RDBMS基础上的Oracle 8.xRDBMS 的输入/输出性能的主要提高是真 正的分区。在第1 0章中讨论了一些Oracle 7.x分区视图与Oracle 8.x分区的不同之处。比较明显, Oracle 8.x有了某些性能上的优点。鉴于 Oracle 7.x分区视图依赖多重表及那些联结起来的表的 视图,因为确实没有新结构,所以没有本地语言支持。因此,所有事情(锁、优化等等)中 输入/ 输出的级别仍然在表级。相反,在 Oracle 8.x 中,分区不仅是新的存储结构,而且被认为 是本地语言,并且是优化的。 分区为性能带来的一个主要好处是分区消除。如果一个表在某一列(分区键)上被分区 了,任何一条给定的查询(也就是 S E L E C T语句)都可以被那些分区中仅仅一个分区中的行满 足。一个例子是你已经把雇员在薪水等级列上进行了分区。如果你希望检查某个薪水等级, 只需要存取一个分区以获得那些所需要的行即可。 O r a c l e优化程序知道这个,因为它可以把你 需要的值域与那些你以前用来分区表行的值域相匹配。如果这里有 n个分区要搜索的话,分区 消除可以潜在地把性能加速n倍。 当然,就像 R A I D和O r a c l e “人工”数据条一样,分区是一个分离存放的物理设计策略 (参考第3章)。如果有n个分区需要存取,并且过程并行与数据并行同时发生(例如,并行查 询),那么速度的提高可以接近n倍。然而,全部性能提高中还要减去再结合的总开销。另外, 还有O r a c l e过程的某些并行方法、并行查询( Oracle 7.x和Oracle 8.x )及本章2 0 . 3节中的并行 数据处理语言(Oracle 8.x )。 另一个需要考虑的分区问题是它在表和行之间增加了一个锁的级别。增加锁的级别几乎 总是有帮助的,特别是如果它的级别比表低的话。考虑一下接近行总数的 1 / 5的多行锁的开销, 同一个任务一个单独的分区锁就可以完成。因此,当需要行级锁时,它们被授予。但是当需 要一个分区锁而不是一个表锁时,你就不仅节省了许多行锁的系统开销,而且对未锁定分区 第20章计Oracle 8.x 调整问题计计223 下载 提供了更多的并行存取。表锁在语法分析时确定,之后在运行时得到。分区锁都是在运行时 确定和得到的,而表锁在任何时间都可以。 在Oracle 8.x 中,有一个日志/无日志属性,此属性在表空间、表、索引或者是分区级别的 某些S Q L语句中是适用的。无日志属性代替 Oracle 7.x 中的不可恢复选项。然而,为了以后的 兼容性,目前仍然支持不可恢复选项。由于不可恢复选项是与一条语句联系在一起的,因此, 在数据库对象中要指定无日志属性。例如,所有的插入( I N S E RT )操作(串行或并行的)不 产生重做日志项,同时不记录实际上要受影响的对象。另一个例子, C R E ATE TA B L E 和 C R E ATE INDEX 可以使用不记录它们影响的对象,因为它们已经在它们的语句中使用了不可 恢复的对象。此外,I N S E RT. . . S E L E C T和C R E ATE TABLEAS SELECT是可以利用无日志属性 的潜在的操作。 直接载入操作用并行方式支持;然而,它们也可以是串行的。直接载入与 S Q L * L o a d e r直 接路径模式类似。直接载入只是对插入( I N S E RT )操作而言。它们使用临时段,它们将临时 段直接追加到高于目标对象的高水位标志( H W M )的地方。对象的 H W M被调节到新水平, 同时新近插入的行被给定了R O W I D 。这种类型的载入与通常的插入方法不同,在写入目标对

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档