大型数据库优化设计浅谈(ORACLE) (一)
来源:互联网 发布:linux设置静态ip地址 编辑:程序博客网 时间:2024/06/06 01:57
对于ORACLE数据库的数据存取,主要有四个不同的调整级别,第一级调整是操作系统级包括硬件平台,第二级调整是ORACLE RDBMS级的调整,第三级是数据库设计级的调整,最后一个调整级是SQL级。通常依此四级调整级别对数据库进行调整、优化,数据库的整体性能会得到很大的改善。下面从几个不同方面介绍ORACLE数据库优化设计方案。
一、充分利用系统全局区域SGA(SYSTEM GLOBAL AREA)
SGA是oracle数据库的心脏。用户的进程对这个内存区发送事务,并且以这里作为高速缓存读取命中的数据,以实现加速的目的。正确的SGA大小对数据库的性能至关重要。SGA包括以下几个部分:
1、数据块缓冲区(data block buffer cache)是SGA中的一块高速缓存,占整个数据库大小的1%-2%,用来存储从数据库重读取的数据块(表、索引、簇等),因此采用least recently used (LRU,最近最少使用)的方法进行空间管理。
2、字典缓冲区。该缓冲区内的信息包括用户账号数据、数据文件名、段名、盘区位置、表说明和权限,它也采用LRU方式管理。
3、重做日志缓冲区。该缓冲区保存为数据库恢复过程中用于前滚操作。
4、SQL共享池。保存执行计划和运行数据库的SQL语句的语法分析树。也采用LRU算法管理。如果设置过小,语句将被连续不断地再装入到库缓存,影响系统性能。
另外,SGA还包括大池、JAVA池、多缓冲池。但是主要是由上面4种缓冲区构成。对这些内存缓冲区的合理设置,可以大大加快数据查询速度,一个足够大的内存区可以把绝大多数数据存储在内存中,只有那些不怎么频繁使用的数据,才从磁盘读取,这样就可以大大提高内存区的命中率。
二、规范与反规范设计数据库
1.数据库设计中的优化策略
数据应当按两种类别进行组织:频繁访问的数据和频繁修改的数据。对于频繁访问但是不频繁修改的数据,内部设计应当物理不规范化。对于频繁修改但并不频繁访问的数据,内部设计应当物理规范化。比较复杂的方法是将规范化的表作为逻辑数据库设计的基础,然后再根据整个应用系统的需要,物理地非规范化数据。规范与反规范都是建立在实际的操作基础之上的约束,脱离了实际两者都没有意义。只有把两者合理地结合在一起,才能相互补充,发挥各自的优点。
2.规范和反规范
……(未完待续)
- 大型数据库优化设计浅谈(ORACLE) (一)
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型oracle数据库优化设计方案
- 大型oracle数据库优化设计方案
- 大型oracle数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- 大型ORACLE数据库优化设计方案
- java中instanceof用法
- 如何从VC的对象_variant_t中获取数值型数据
- java中Interface的用法
- RequestMapping(@RequestMapping) with Spring, or How Strange Is That?
- 关于web.xml中的load-on-startup作用
- 大型数据库优化设计浅谈(ORACLE) (一)
- C#生成XML文件的 函数
- 你的上司怎么看你取决于你的行动
- 详解Linux2.6内核中基于platform机制的驱动模型
- SQL2008的镜像功能
- js刷新的code——收集
- 定时获取url内容并写入文件中
- SQL Server 2005镜像配置基本概念
- C/C++ ------ static 的作用