zoukankan      html  css  js  c++  java
  • 实例之内存体系结构(1)--- 共享池(Share pool)

     

    共享池主要用来存储各种类型的程序数据,比如存储解析后的SQL、PL/SQL代码、系统参数和数据字典信息,主要由库缓存(Library Cache)、数据字典缓存(Data Directory Cache)、服务器结果缓存(Server Result Cache)组成。

    库缓存(Library Cache):主要存放所有编译过且可执行的SQL语句和PL/SQL代码,是SQL语句,PL/SQL代码执行编译的区域。在执行SQL语句时,数据库尝试重用以前执行的代码。如果SQL语句的解析已经存在于库缓存中,并且可以共享,那么数据库将重用该代码,称为软解析或库缓存命中;否则,数据库必须为应用程序代码构建一个新的可执行版本,称为硬解析或库缓存丢失。数据库使用共享SQL区域来处理SQL语句第一次出现,所有用户都可以访问该区域,以及该区域中包含的语句解析树和执行计划。对于唯一的语句,只存在一个共享SQL区域。发出SQL语句的每个会话在其PGA中都有一个私有SQL区域。提交相同语句的每个用户都有一个私有SQL区域,指向相同的共享SQL区域。因此,单个PGA中的许多私有SQL区域可以与相同的共享SQL区域相关联。

    数据字典缓存(Data Directory Cache):存储的是数据库表和视图的集合,其中包含有关数据库、数据库结构和数据库用户的引用信息,以备共享。

    服务器结果缓存(Server Result Cache):是共享池中的一个内存池,与缓冲池不同,服务器结果缓存保存的是结果集(包含SQL查询结果缓存和PL/SQL函数结果缓存),而不是数据块。

  • 相关阅读:
    日期时间检查(格式为:YYYY-MM-DD HH:MM:SS)
    日期合法性验证(格式为:YYYY-MM-DD或YYYY/MM/DD )
    [转]Attribute在.net编程中的应用
    WCF
    [转]使用C#开发ActiveX控件
    在 IIS 中承载 WCF 服务
    [转]一个完整的Installshield安装程序实例
    反射
    特性
    迭代器
  • 原文地址:https://www.cnblogs.com/eniniemand/p/14062845.html
Copyright © 2011-2022 走看看