暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle优化数据块大小

DB SQL 学习号 2021-05-14
2297

    数据库选择合适大小的块非常重要,特别是大型数据库和超大型数据库更为重要。数据块大小会影响整个数据库的读写性能。Oracle数据块大小默认为8Kb,虽然8Kb大小的块可以满足大部分OLTP(联机事务处理过程)的信用程序,但是对于DSS系统(决策支持系统 Decision Support System)而言,则需要更大的块。如果数据库已经使用了8Kb的默认块DBA可以用Oracle Multiple Block Size特性。在某种情况下,当大型数据库和超大型数据库系统使用16Kb和32Kb的数据块时,数据库的性能会好于4Kb或者8Kb的数据块。数据块的大小由参数db_block_size控制。

    在同一个数据库实例内可以使用不同大小的数据块。但除非应用有特殊否则不建议如此使用。大型数据库可以用16KB或者32KB大小的块,但需要DBA来决定使用哪种大小的块能给应用程序提供更好的性能。一旦使用默认大小的块创建了数据库,那么默认块大小就不能修改,除非重建数据库。

    下面来说一说根据应用程序需要选择正确的数据块大小的几条建议(仅供参考,欢迎探讨):

  • 当表中记录较少且数据随机访问为主,使用小块效率更高。

  • 当表中记录较少,但是数据以顺序读和随机+顺序读混合时,使用大块可以提升读的性能。

  • 当表中记录数较多,如数据存放在LOB列中,使用大块可以显著地提升读的性能。

  • 在高并发系统中如果使用了大块,要确保设置合适的initerans和maxtrans参数。

  • 使用大块可以减少管理块的资源开销,并且单个大块可以存储更多的记录。

  • 使用大块的情况下,单次读可以把更多的记录加载到buffer cache中,提升运行效率。

  • 以上观点仅供参考。


文章转载自DB SQL 学习号,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论