Oracle性能优化——总体介绍

最近参加Oracle的培训,对Oracle有了更加深入的认识,在此做个学习总结。

1、Oracle数据库调优不能仅指望修改几项数据库参数就能有明显效果,问题更多出在应用方面,教育开发者正确地使用数据库是一项任重道远的工作。

2、Oracle数据库性能瓶颈主要有:CPU,网络,磁盘I/O,进程间协调;

3、数据库反应时间是影响用户体验和体现数据库性能的重要指标,一般为2ms;

4、数据库响应时间是用户感知到的上层应用响应时间的一部分;

5、SQL中的JOIN和集合运算

6、物理数据库设计:

      1)索引设计(Index Design):

           索引是为了加快查询特定的几行的速度,但是会使insert变慢。

           索引类型:Btree Indexes,Bit Mapped Indexes,Storage Indexes;

      2)分区设计(Partition Design)

           随着数据库的增大,分区策略能保证查询性能和方便管理。

           分区类型:RANGE Partitioning(按日期分区,例如按年),HASH Partitioning(按哈希分布分区),LIST Partitioning(按列表分区,例如按省份),Composite Partitioning(2个维度上分区,例如RANGE-LIST)

           分区数量一般在1万以下。

      3)压缩设计(Compression Design)

            好处:加速表扫描和磁盘占用,可以为OLTP缓存更多的行   

            坏处:UPDATEs, DELETEs变慢

           tips: 如果数据表压缩后为10GB,如果把数据表放到内存中需要留10GB+的内存(最好为20GB),因为压缩过程需要占用额外内存。

         4) Clustering

             主要作用是最大化利用硬件I/O。

7、数据处理技术(Data Processing Techniques)

     1) Row by row
         – Procedural processing one row at a time
     2) Arrays
          – Procedural processing of a set of rows at a time
     3) Manual Parallelism
         – Multiple threads/processes each performing row by row or array processing
      4) Set based processing
         – Process data in groups or sets of rows

         (直接提交任务,Oracle数据库本身会进行任务优化)

使用场景:

8、Oracle资源管理器目的在于使数据库系统变得可控,而不至于因占用太多系统资源而崩溃。

9、Oracle数据库连接池连接数上限不是越高越好,一般设置为CPU线程总数能获得最佳性能。

设置前:

设置后:

         

铸剑团队签名:

【总监】十二春秋之,3483099@qq.com

【Master】戈稻不苍,han169@126.com

【Java开发】雨鸶,343691194@qq.com;思齐骏惠,qiangzhang1227@163.com;小王子,545106057@qq.com;巡山小钻风,840260821@qq.com

【VS开发】豆点,2268800211@qq.com

【系统测试】土镜问道,847071279@qq.com;尘子与自由,695187655@qq.com

【大数据】沙漠绿洲,caozhipan@126.com;张三省,570417591@qq.com

【网络】夜孤星,11297761@qq.com

【系统运营】三石头,261453882@qq.com;平凡怪咖,591169003@qq.com

【容灾备份】秋天的雨,18568921@qq.com

【安全】保密,你懂的。

原创作者:张三省

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

原文地址:https://www.cnblogs.com/zhangleisanshi/p/7763781.html