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函数结果缓存),而不是数据块。

  • 相关阅读:
    Jquery ajax异步传值的两个实用的方法,你看后肯定会用第二个
    C# ASP.NET 转换为int型的方法 很实用
    NetCore 发送邮件
    解决Visual Studio For Mac Restore失败的问题
    (转)JSONObject的toBean 和 fromObject
    javax.servlet不存在的问题
    关于范式的解说
    在远程连接mysql数据库出现问题怎么办
    (二)SpringCloud学习系列-SpringCloud
    (一)SpringCloud学习系列-微服务
  • 原文地址:https://www.cnblogs.com/eniniemand/p/14062845.html
Copyright © 2011-2022 走看看