优化表性能

优化表性能----读oracle database 11g 性能优化攻略
1.创建具有最优化性能的数据库
合理地配置并创建数据库有助于保证数据库的优良性能,每个用户都分别默认的表空间和临时表空间,确保业务表不要放在系统表空间下等等
2.创建具有最优性能的表空间
创建本地管理,自动段管理的表空间,合理设置表空间数据文件的大小以及存放位置
3.匹配表的类型与业务类型
oracle提供很多表类型,结合业务合理选择创建表的类型,选择表类型前要了解这种表类型的优缺点,一般情况下堆组织表就能满足我们
4.选择有益于性能的表特性
合理设计表的列类型已经长度,合理设计表的存储类参数,按照规则命名表名和字段名以便于维护
5.在创建表时使盘区分配延时
根据实际情况确定,例如在按照一个具有数千张表和索引的应用时,每张表和索引都被设置最初分配10M的磁盘空间,你希望最快安装完成,但空间分配需要一段时间,你可以使空间分配在第一条记录插入表中时分配
在oracle 11g R2版本中默认将表以及索引的物理空间分配推迟到第一条记录插入表中时,这样的好处与害处
1.使具有大量表和索引的应用能够快速安装
2.新创建的对象没有分配任何空间,直到第一条记录插入
3.创建第一行数据耗费的时间比以前版本稍长,对于大多数的应用,这种性能的降低并不显著
说明:
可以将数据库参数deferred_segment_creation设置为false,将延迟段创建属性禁用,这个参数在R2中默认为true
还可以在创建表时控制延迟段创建行为,create table 新字句:segment create immedaite和segment creation deferred
6.数据加载速度的最大化
将表设置为nologging使其产生较少的重做日志
使用直接路径加载数据,避开了缓冲区缓存,直接将数据加载到数据文件中
7.高效的移除表中的数据
尽量使用truncate来代替delete
使用delete要控制事物的大小,分批提交
可以使用drop表后再重建表,必须要重建表上的索引、约束、授权以及触发器
8.手动生成段顾问建议
根据表的段顾问建议来分析表是否需要进行重组
9.重建跨多个数据块的数据行
存在行迁移,其中数据行存在多个数据块中,这种情况会增加io的使用率,并导致对这张表的查询速度变慢
使用move和analyze table来解决行迁移问题
10.释放未使用的表存储空间
表存在高水位问题,使查询性能变成差
使用alter table ...shrink space语句来释放未使用的空间
11.压缩数据
a.在dss类型的数据库中,使用oracle基本压缩特性,将直接路径加载的数据压缩成堆组织表。
b.在oltp类型的数据库中,使用compress for oltp字句为所有DML语句启用压缩
12.列级别压缩数据
只对oracle exadata产品有效
13.监控表的使用率
删除未使用的表释放空间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值