oracle编程入门笔记2015-01-12--数据库原理1
2015-01-12 20:00
363 查看
先给来一张偷来的图
oracle 数据库和实例。
首先解释数据库和实例的区别。
可以这么理解
1.数据库就是实实在在存储数据的文件。
2.实例就是一些oracle进程,内存和加载到内存里的数据集合。
其实oracle sql编程语法就之前说的那么多,剩下的就是要看sql到底怎么执行了。知其然知其所以然。了解sql执行原理和一些内部机制才能指导我们写更优的sql。
实例=SGA(共享区)+后台进程+内存
那么有如下结论:
1.实例与SGA是一对一的关系
2.同一个实例的多个用户共享SGA
后台进程在分析SGA原理的时候会提到一些用得上的,内存就不用说了吧,那么SGA=数据库高速缓存(Database buffer cache)+共享池(shared pool)+重做日志缓存区(redo log buffer)+大型池(large pool)+java池(java pool)+流池(stream pool)+……
数据库高速缓存:用来存储三部分数据,还没有来得及写会数据库的数据,空块,正在使用的数据。根据箭头可知应该是dbw进程完成的。
重做日志缓存:保存了之前修改的数据原始记录用来回滚
共享池:包括两部分数据字典缓存和sql缓存,数据字典缓存缓存了数据库一些表,列,用户,权限,索引等信息。用来加快sql语句解析的速度。
数据库缓存缓存了一些sql语句和这些语句解析后的代码和执行计划。
正因为共享区的存在,所以sql语句会互相影响。从而影响执行效率
那么具体是怎么影响的呢,那就是数据库高速缓存中的软解析和硬解析对sql效率的影响
oracle 数据库和实例。
首先解释数据库和实例的区别。
可以这么理解
1.数据库就是实实在在存储数据的文件。
2.实例就是一些oracle进程,内存和加载到内存里的数据集合。
其实oracle sql编程语法就之前说的那么多,剩下的就是要看sql到底怎么执行了。知其然知其所以然。了解sql执行原理和一些内部机制才能指导我们写更优的sql。
实例=SGA(共享区)+后台进程+内存
那么有如下结论:
1.实例与SGA是一对一的关系
2.同一个实例的多个用户共享SGA
后台进程在分析SGA原理的时候会提到一些用得上的,内存就不用说了吧,那么SGA=数据库高速缓存(Database buffer cache)+共享池(shared pool)+重做日志缓存区(redo log buffer)+大型池(large pool)+java池(java pool)+流池(stream pool)+……
数据库高速缓存:用来存储三部分数据,还没有来得及写会数据库的数据,空块,正在使用的数据。根据箭头可知应该是dbw进程完成的。
重做日志缓存:保存了之前修改的数据原始记录用来回滚
共享池:包括两部分数据字典缓存和sql缓存,数据字典缓存缓存了数据库一些表,列,用户,权限,索引等信息。用来加快sql语句解析的速度。
数据库缓存缓存了一些sql语句和这些语句解析后的代码和执行计划。
正因为共享区的存在,所以sql语句会互相影响。从而影响执行效率
那么具体是怎么影响的呢,那就是数据库高速缓存中的软解析和硬解析对sql效率的影响
相关文章推荐
- oracle编程入门笔记2015-01-13--数据库原理1之硬解析软解析
- oracle编程入门笔记2015-01-12--数据合并
- oracle编程入门笔记2015-01-28--model子句原理
- oracle编程入门笔记2015-01-23--执行计划
- oracle编程入门笔记2015-01-22--解释计划
- oracle编程入门笔记2015-01-09--插入
- oracle编程入门笔记2015-01-14--查询转换
- oracle编程入门笔记2015-01-06--sqlplus
- oracle编程入门笔记2015-02-05--递归查询
- oracle编程入门笔记2015-01-17--一个例子告诉你共享池和数据缓存对效率的影响
- oracle编程入门笔记2015-01-25--浅说cube
- oracle编程入门笔记2015-01-18--常用oracle查询语句
- oracle编程入门笔记2015-01-27--分析函数性能
- Java学习笔记―第十三章 数据库编程入门
- oracle编程入门笔记2015-01-19--四种表连接
- oracle编程入门笔记2015-01-06--基本概念
- 数据库编程实战:Oracle PL/SQL入门之案例实践
- Oracle笔记(3):数据库启动原理
- oracle编程入门笔记2015-01-26--分析函数使用举例