Oracle数据库体系框架及SQL语句性能探讨
2007-05-06 12:07:02 来源:WEB开发网【导读】基于数据库的业务系统的核心是数据库和数据。理解ORACLE数据的体系框架有助于我们成功开发基于数据库的业务系统。通过增加一个索引、改变SQL语句的连接方法可以极大的改变系统的性能;80%的性能问题都是由不良的SQL语句引起的。
理解ORACLE数据库体系框架
数据库软件就是处理数据文件的一批程序。关系数据库自上世纪70年代IBM圣约瑟研究实验室的高级研究员埃德加·考特(E F Codd)的《大型共享数据库数据的关系模型》一文发表世以来,就逐步成为了数据库的主流。1977年,ORACLE公司成立第一个以关系数据库为核心的软件公司,现在已经推出ORACLE 9i。下面的探讨主要以ORACLE8i版本为基础。
虽然大家在很多介绍ORACLE的书籍中都可以看到类似下面的图,但是我认为下面的这张图是对ORACLE的体系结构展现的最清晰和简明扼要的。也许你在看介绍ORACLE的书籍时对这些枯燥的理论介绍没有太多的关心,而直接进入你关心的、可操作的内容。现在就让我们一起对这个图进行简单的了解。
大家可以看到,如果从简单的角度来描述,可以说一个ORACLE实例(Instance)是由一定的内存与后台进程组成,而数据库(Database)指物理文件。下面就SGA、五个必须的ORACLE后台进程进行简单的介绍:SGA(System Global Area 也称 Shared Global Area) 主要由以下三部分组成:
共享池(Shared Pool) 主要用来存储最近执行过的SQL语句和最近使用过的数据字典的数据;它主要通过INIT.ORA文件中的shared_pool_size和shared_pool_reserved_size两个参数来设置。
数据高速缓存区(Data Buffer Cache) 主要用来存储最近使用过的数据,可能是要写到数据文件的,也可能是从数据文件读取的;它主要通过INIT.ORA文件中db_block_buffers参数来设置;Data Buffer的大小=db_block_buffers* db_block_size;
更多精彩
赞助商链接