KingbaseES 逻辑读与物理读

news2024/10/5 14:16:48

oracle数据库中逻辑读,物理读

img

数据访问方式:数据库少不了和操作系统进行数据交互,表数据最好的方式是从数据库共享池中访问到,避免发生磁盘IO,当然如果共享池中没有访问到数据就难免发生磁盘IO。

物理读:从磁盘读取数据到buffer cache,消耗磁盘io,一般是全表扫描导致,这种情况就尽量用到索引减少数据访问以降低io。

逻辑读:通过从数据库buffer cache中获取数据(包含物理读),分为当前读和一致性读,当前读获取数据块的最新版本,进程会给读取的块加锁,一致性读读取是块的最新版本或者回滚段中的历史版本,不需要加锁。逻辑读消耗cpu。

直接路径读:从磁盘读取数据绕过buffer cache,直接读取到pga,通常是由于大表全表扫描或使用并行导致,oracle 11g 新特性,好处是能降低buffer cache争用,坏处是大量io消耗,

说明:KES数据库中不存在直接路径读的概念,那么针对物理读,和逻辑读和oracle中的定义也略有区别,下面看一下KES中逻辑读,物理读是如何定义的。

KInbgaseESV8R6中逻辑读,物理读

sys_stat_statements视图可以查看数据库性能的关键指标,以下是有关计算物理读,逻辑读的关键字段及其含义。

shared_blks_hit shared_buffer中的命中块数

shared_blks_read shared_buffer中未命中,从操作系统缓冲读进shared_buffer的块数,如果操作系统缓存中没有有关记录,则需要读取数据文件而发生物理磁盘IO,此过程理解为发生物理读。

shared_blks_dirtied shared_buffer中弄脏的总块数

shared_blks_written 从shared_buffer中写入的总块数,这里指从shared_buffer写入了操作系统缓存或写入数据文件而发生物理磁盘IO,此过程理解为发生物理写。

local_blks_hit 本地块缓冲命中总数,指temp_buffers中命中块数

local_blks_read 本地块缓冲未命中,从操作系统缓冲读进temp_buffer的块数,如果操作系统缓冲区没有找到,有可能发生物理IO,此过程理解为发生物理读

local_blks_dirtied temp_buffers中产生的脏块数

local_blks_written 从temp_buffers写入临时表,同理,此过程理解为发生物理写。

temp_blks_read 从临时文件temp_file读取到work_mem的块数,此过程理解为发生物理读。

temp_blks_written 从work_mem写入 temp_file总块数,发生物理io,此过程理解为发生物理写。

blocks 都是物理磁盘块在内存里的映射

shared blocks:共享数据库块,shared_buffers 上分配的数据块,各关系表都是从磁盘文件加载到shared-buffer后才能读写。

local blocks:临时表等只有本会话可以使用的数据块,别的会话看不到。

temp blocks: SQL 语句执行过程中,排序、Hash等操作需要的work_mem,maintance_work_mem 不够,使用磁盘文件排序、Hash等,这些临时文件对应的就是临时块,本会话可见。

4 种数据访问方式:

Hit:读数据页的时候,直接在 shared/local blocks 命中,没有发生磁盘 IO
dirty:写数据的时候,写入了 shared/local 数据库块,还没有发生磁盘 IO
read:物理读
written:物理写

注意区别于oracle的物理读,物理写,KES数据库包括了操作系统缓存信息,而尽管read,written这时候不一定会发生物理磁盘IO。所以与oracle中的物理读略有区别,oracle数据库中不考虑操作系统缓存。

temp blocks 只有 read/written 操作。没有数据库实例内的缓存。

对于逻辑读,物理读,kwr中的体现如图:

img

物理写:writte

逻辑读:hit

物理读:read

img

此部分展示了几个内存区域发生了物理IO,也就是sql没有在数据库内存区域找到对应数据,需要和操作系统进行交互。

img

也可以从设备上看到主机IO每秒写入/读取大小等指标判断物理读写对于磁盘的消耗。

KWR报告中的TOP SQL内容还展示了,可以据此查到消耗IO性能的sql,具体内容略过不展示。

按 I/O 时间排序的 SQL 语句

按逻辑读块数排序的 SQL 语句

按物理读块数排序的 SQL 语句

按物理写块数排序的 SQL 语句

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/546867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三篇、Arduino uno、nano、2560用oled0.96寸屏幕显示dht11温湿度传感器的温度和湿度信息——结果导向

0、结果 说明:先来看看拍摄的显示结果,如果是你想要的,可以接着往下看。 1、外观 说明:本次使用的oled是0.96寸的,别的规格的屏幕不一定适用本教程,一般而言有显示白色、蓝色和蓝黄一起显示的&#xff0…

【小沐学Web】Node实现Web图表功能(ECharts.js,React)

🎈🎈🎈Python实现Web图表功能系列:🎈🎈🎈1🎈【Web开发】Python实现Web图表功能(D-Tale入门)🎈2🎈【Web开发】Python实现Web图表功能&a…

Fragment 要你何用?2.0版本

前言 在之前的文章里有分析过Activity、Fragment、View之间的关联,也简单分析了Fragment的原理。 本篇将对Fragment被高频使用的场景以及一些坑点作分析,通过本篇文章,你将了解到: 老生常谈:为什么需要Fragment?Frag…

Java 创建一个大文件

有时候,我们在对文件进行测试的时候,可能需要创建一个临时的大文件。 那么问题来了,在 Java 中如何创建大文件呢? 问题和解决 有些人想到的办法就是定义一个随机的字符串,然后重复很多次,然后将这个字符…

第一篇:强化学习基本原理通俗介绍

你好,我是zhenguo(郭震) 今天强化学习第一篇:白话介绍强化学习的基本原理 强化学习是一种机器学习方法,旨在让智能体(agent)通过与环境的交互学习如何做出最优的行动选择以获得最大的累积奖励。…

Rust每日一练(Leetday0004) 正则表达、盛水容器、转罗马数字

目录 10. 正则表达式匹配 Regular Expression Matching 🌟🌟🌟 11. 盛最多水的容器 Container with most water 🌟🌟 12. 整数转罗马数字 Integer to Roman 🌟🌟 🌟 每日一练…

new和delete用法详解

本篇文章对C中的new和delete进行详解。在讲解new和delete时,我们会对比C语言中的malloc和free,看看两者的区别和相似之点。希望本篇文章会对你有所帮助。 文章目录 一、什么是new和delete 二、new和delete的用法 2、1 new和delete操作内置类型 2、2 new和…

中青宝两大议案被否!散户又“赢了”?

21.93万股,就能决定股东大会上的议案成败——离奇的一幕在中青宝上演。 5月18日,中青宝召开2022年度股东大会。会上,《关于2023年度日常关联交易预计的议案》《关于非独立董事2023年度薪酬方案的议案》两项议案被否。 此次股东大会上&#x…

linux设置静态ip与windows互相ping通、设置静态ip之后不能联网和网络服务重启失败的问题

1.虚拟机linux设置静态ip与windows互相ping通及设置静态ip之后不能联网问题一站式解决: 转载:https://www.codenong.com/cs105332412/ 2.遇到网络服务重启失败的问题 按照提示查看网络服务的状态 看到这篇博文https://www.cyberithub.com/failed-to-s…

Ae 效果详解:Keylight(1.2)

Ae菜单:效果/Keying/Keylight(1.2) Effects/Keying/Keylight(1.2) Keylight 是一款工业级的蓝幕或绿幕键控器,核心算法由 Computer Film 公司开发,并由 The Foundry 公司进一步开发移植到 Ae。 Keylight 在制作专业品质的抠像效果方面表现出色…

第11章_数据处理之增删改

第11章_数据处理之增删改 1. 插入数据 1.1 实际问题 解决方式:使用 INSERT 语句向表中插入数据。 1.2 方式1:VALUES的方式添加 使用这种语法一次只能向表中插入一条数据。 情况1:为表的所有字段按默认顺序插入数据 INSERT INTO 表名 VAL…

Python 学习 2022.08.28 周日

文章目录 一、 概述1.1) 之前写的文章:1.2) 基础点1.3) 配置1.4) Python2 和 Python3 的区别1.5) 相关问题跟踪解决1.6) 其他 一、 概述 1.1) 之前写的文章: 【Python大系】Python快速教程《Python 数据库 GUI CGI编…

clion开发stm32之flash驱动(f4系列)

前言 使用的开发工具(clionmsys2openocd)使用的开发版芯片stm32f407vet6参考手册为stm32f4中文参考文档 查看中文手册 ## 驱动代码 头文件(bsp_flash.h) #ifndef STM32F103VET6_PROJECT_BSP_FLASH_H #define STM32F103VET6_PROJECT_BSP_FLASH_H #include "sys.h"…

华硕幻X 2023 Windows11原厂预装系统 工厂恢复安装带ASUSRecevory一键还原

华硕幻X 2023 Windows11原厂预装系统 工厂模式恢复安装带ASUSRecevory一键还原 文件地址:https://pan.baidu.com/s/1snKOsH3OMl3GZLqeAf-GLA?pwd8888 华硕工厂恢复系统 ,安装结束后带隐藏分区以及机器所有驱动软件 需准备一个16G左右空u盘进行恢复 …

chatgpt赋能Python-python3怎么用

Python3入门指南:从基础到进阶 Python是一款简单而强大的编程语言,具有易读性、易学性和高生产性的特点。它广泛应用于数据分析、机器学习、Web开发、自动化测试等领域。Python的第三个版本(Python3)相对于第二个版本&#xff08…

网络互连与互联网 - 路由信息协议(RIP)

文章目录 1 概述2 RIP 要点2.1 根据 距离矢量(或 跳数)寻找最佳路由2.2 RIP 三大要点2.3 基本工作过程2.4 路由条目的更新规则2.5 RIPv1 和 RIPv2 区别2.6 "坏消息传播慢" 的问题 3 网工软考真题 1 概述 #mermaid-svg-DFp89TU9n8BiJLTr {font-…

K8s scheduler 调度:NodeName、NodeSelector与Taint

1 前言 上篇介绍了k8s调度的预选和优选策略,K8s scheduler 调度:预选和优选策略。 本篇介绍三个影响pod调度的配置:NodeName、NodeSelector与Taint。 2 NodeName NodeName是根据node的名称调度pod。可用于强制约束Pod跳过默认的Kubernetes调度…

Hive on Spark调优(大数据技术6)

第6章 Join优化 6.1 Hive Join算法概述 Hive拥有多种join算法,包括common join,map join,sort Merge Bucket Map Join等。下面对每种join算法做简要说明: 1)common join Map端负责读取参与join的表的数据&#xff…

Hive on Spark调优(大数据技术8)

第8章 任务并行度优化 8.1 优化说明 对于一个分布式的计算任务而言,设置一个合适的并行度十分重要。在Hive中,无论其计算引擎是什么,所有的计算任务都可分为Map阶段和Reduce阶段。所以并行度的调整,也可从上述两个方面进行调整。 …

Maven基础学习---3、Maven的使用(命令行)

1、根据坐标创建Maven工程 1、Maven核心概念:坐标 (1)数学中的坐标 使用x、y、z三个[向量]作为空间的坐标系,可以在[空间]中唯一定位到一个[点]。 (2)Maven中的坐标 1、向量说明 使用三个[向量]在[Maven…