1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

以下的文章主要是介绍Oracle性能调整中的相关要点的应用以及优化,如果你在Oracle性能调整中的相关要点的应用方面有想了解的欲望,以下的文章就是满足你对Oracle性能调整中相关要点的知识的概要。

1、概念

为了提高性能,可以使用下列数据访问方法:

A、Clusters 
B、Indexes 
B-tree(normalorreversekey) 
bitmap 
-function-based 
C、Index-organizedtables 
D、Materializedviews

索引的层次越多,效率越低,如果索引中含有许多已删除的行,这个索引也会变得低效,如果索引数据的15%已经被删除,应该考虑重建索引。

2、应用问题

A、使用可声明的约束而不是通过代码限制

B、代码共享

C、使用绑定变量而不是文字来优化共享sql

D、调整cursor_sharing的值(EXACT/SIMILAR/FORCE)

A、Clusters 
B、Indexes 
-B-tree(normalorreversekey) 
-bitmap 
-function-based 
C、Index-organizedtables 
D、Materializedviews 

1、避免动态分配的缺陷

创建本地管理的表空间;

合理设置segment的大小;

监控将要扩展的segment:

SELECTowner,table_name,blocks,
empty_blocksFROMdba_tablesWHEREempty_blocks/
(blocks+empty_blocks)<.1;

2、high water mark

记录在segment header block中,在segment创建的时候设定在segment的起始位置,当记录被插入的时候以5个block的增量增加,truncate可以重设high water mark的位置,但delete不能。

在full table scan中,oracle会读取high water mark以下的所有的数据块,所以high water mark以上的块也许会浪费存储空间,但不会降低Oracle性能。

可以通过下列方法收回表中high water mark以上的块:

Altertable_namedeallocateunused;

对于high water mark以下的块:

使用import/export工具:export数据;drop或truncate表;import数据。或者利用alter table tanle_name move命令去移动表的存储位置(此时需要重建索引)。

3、表统计

用analyize命令生成表统计,然后到dba_table查询相关信息。

ANALYZETABLEndls.t_wh_shipping_billCOMPUTESTATISTICS; 
SELECTnum_rows,blocks,empty_blocksasempty,avg_space,
chain_cnt,avg_row_lenFROMdba_tablesWHEREowner=
'NDLS'ANDtable_name='T_WH_SHIPPING_BILL'; 
ColumnsDescription 
NUM_ROWSNumberofrowsinthetable 
BLOCKSNumberofblocksbelowthetablehigh-watermark 
EMPTY_BLOCKSNumberofblocksabovethetablehigh-watermark 
AVG_SPACEAveragefreespaceinbytesintheblocksbelow
high-watermark 
AVG_ROW_LENAveragerowlength,includingrowoverhead 
CHAIN_CNTNumberofchainedormigratedrowsinthetable 
blocksize 

通过下列方法可以最小化block的访问次数:

使用更大的block size;紧密压缩行;阻止行镜像。后两者存在冲突,越多的行被压缩在一个block里,越容易产生镜像。Block size 在数据库创建的时候设定,不能被轻易改变,是读取数据文件时最小的IO单元,大小范围是2K-64K,应该设置成OS块的整数倍,小于或等于OS IO时能读取的存储区域。

较小的block size的优点:极少block竞争;有利于较小的行和随机访问。缺点是存在相当高的成本,每个block的行数更少,可能需要读取更多的index块。Block size的选择影响系统的Oracle性能,在一个OLTP环境中,较小的block size更合适,而在DSS环境中,适宜选择较大的block size。

本文来源:1818IP

本文地址:https://www.1818ip.com/post/11803.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。