oracle学习笔记02

一、CBO下优化器模式的选择:

    对于OLAP系统(在线分析系统),绝大多数时候数据库上运行着的是报表作业,执行基本上是聚合类的SQL操作,比如GROUP BY,这时候,把优化器模式设置成all_rows是恰当的。

    而对于一些分页操作比较多的网站类数据库,设置成first_rows会更好一些。如果在报表系统中需要用到分页查询,可以在SQL里通过Hints的方式来将优化模式转换成FIRST_ROWS,这样就可以大大的提高数据的处理速度。

    例如:
    select * from
    (SELECT /*+ first_rows(10) */ a.*,rownum rnum from
    (SELECT /*+ first_rows(10) */ id,name from t1 order by id) a
    Where rownum<=10)

    Where rnum>=1;

二、数据库设计

       1、OLTP(在线事务处理系统)需要注重数据库的内存设计,尽可能的使数据块保存在内存中,提高数据访问命中率,减少物理IO。内存的设计通常是通过调整Oracle和内存相关的初始化参数来实现的,比较重要的几个是内存相关的参数,包括SGA的大小(Data BufferShared Pool), PGA大小(排序区,Hash区等) 等。对于SQL来说, 尽可能使用变量绑定技术来达到SQL的重用, 减少重复的SQL解析,能极大的改善数据库的性能。
       2、OLAP(在线分析系统)数据库在内存上可优化的余地很小, 甚至觉得增加CPU处理速度和磁盘I/O速度是最直接的提高数据库性能的方式,但这将意味着着系统成本的增加。实际上,用户对OLAP系统性能的期望远远没有对OLTP性能的期望那么高。对于OLAP系统,SQL的优化显得非常重要。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值