数仓技术hive与oracle对比(五)

news/2025/2/12 14:03:10

附录说明

附录是对测试过程中涉及到的一些操作进行记录和解析。

oracle清除缓存

alter system flush shared_pool;

将使library cache和data dictionary cache以前保存的sql执行计划全部清空,但不会清空共享sql区或者共享pl/sql区里面缓存的最近被执行的条目。刷新共享池可以帮助合并碎片(small chunks),释放少数共享池资源,暂时解决shared_pool中的碎片问题。但是,这种做法通常是不被推荐的。原因如下:

·Flush Shared Pool会导致当前未使用的cursor被清除出共享池,如果这些SQL随后需要执行,那么数据库将经历大量的硬解析,系统将会经历严重的CPU争用,数据库将会产生激烈的Latch竞争。

·如果应用没有使用绑定变量,大量类似SQL不停执行,那么Flush Shared Pool可能只能带来短暂的改善,数据库很快就会回到原来的状态。

·如果Shared Pool很大,并且系统非常繁忙,刷新Shared Pool可能会导致系统挂起,对于类似系统尽量在系统空闲时进行。

alter system flush buffer_cache;

为了最小化cache对测试实验的影响,需要手动刷新buffer cache,以促使oracle重新执行物理访问(统计信息里面的:physical reads)。

查询表大小

oracle查看表占用空间

SELECT

    segment_name AS table_name,

    segment_type,

    bytes,

    bytes/1024/1024 AS size_in_mb

FROM

    dba_segments

WHERE

    segment_type = 'TABLE'

    AND segment_name = 'YOUR_TABLE_NAME'; -- 替换为你的表名

hive查看表占用空间

describe formatted table_name; -- 替换为你的表名

hive索引说明

参照

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Indexing

客户端抽样

oracle的客户端sqldeveloper,对于超过50行的,非聚合查询、非分析查询要想得到真正的执行时间,外加select count(*) from (query)。

hive的客户端dbvear,同样也会存在类似的问题。

解析缓存

无缓存,耗时较久

set autot on statistics

SELECT sum(ncostmny),sum(ninnum) FROM t_od_ic_flow_100 WHERE vbillcode >= 'CR2023080100000001' AND vbillcode <= 'CR2023083000000001'

已启用自动跟踪

仅显示统计信息。

SUM(NCOSTMNY) SUM(NINNUM)

------------- -----------

               31575009.6

Statistics

-----------------------------------------------------------

            1661  CPU used by this session

            1661  CPU used when call started

            9576  DB time

              16  Requests to/from client

              15  SQL*Net roundtrips to/from client

           93570  buffer is not pinned count

          240031  buffer is pinned count

             480  bytes received via SQL*Net from client

           27134  bytes sent via SQL*Net to client

               2  calls to get snapshot scn: kcmgss

       556163072  cell physical IO interconnect bytes

           94270  consistent gets

               3  consistent gets - examination

           94270  consistent gets from cache

           91572  consistent gets from cache (fastpath)

               9  dirty buffers inspected

               2  enqueue releases

               2  enqueue requests

               2  execute count

         2809845  file io wait time

           69937  free buffer inspected

           67891  free buffer requested

           12200  hot buffers moved to head of LRU

               1  index scans kdiixs1

       772259840  logical read bytes from cache

           94267  no work - consistent read gets

            6708  non-idle wait count

            9402  non-idle wait time

               2  opened cursors cumulative

               1  opened cursors current

               1  parse count (hard)

               2  parse count (total)

               1  parse time cpu

           67891  physical read IO requests

       556163072  physical read bytes

           67891  physical read total IO requests

       556163072  physical read total bytes

           67891  physical reads

           67891  physical reads cache

           61199  physical reads cache prefetch

               4  pinned buffers inspected

               1  recursive calls

               1  recursive cpu usage

               1  session cursor cache count

           94270  session logical reads

               3  shared hash latch upgrades - no wait

               1  sorts (memory)

             679  sorts (rows)

          166800  table fetch by rowid

            9402  user I/O wait time

              16  user calls

有缓存,耗时很短

set autot on statistics

SELECT sum(ncostmny),sum(ninnum) FROM t_od_ic_flow_100 WHERE vbillcode >= 'CR2023080100000001' AND vbillcode <= 'CR2023083000000001'

已启用自动跟踪

仅显示统计信息。

SUM(NCOSTMNY) SUM(NINNUM)

------------- -----------

               31575009.6

Statistics

-----------------------------------------------------------

             228  CPU used by this session

             234  CPU used when call started

             197  DB time

               4  Requests to/from client

               1  enqueue releases

               1  enqueue requests

            6688  non-idle wait count

              91  non-idle wait time

              23  opened cursors cumulative

               1  opened cursors current

           67090  physical read total IO requests

               1  pinned cursors current

             194  recursive calls

               1  recursive cpu usage

           94343  session logical reads

              90  user I/O wait time

               4  user calls


https://dhexx.cn/news/show-5468786.html

相关文章

【WebRTC】适合新手宝宝的WebRTC入门教学

文章目录 简述SDPNATNAT的分类完全圆锥型受限圆锥型端口受限圆锥型对称型 ICESTUNTURN总结参考链接 简述 WebRTC通过整合现有的网络协议为设备提供了实时通信的能力&#xff0c;其底层由 C 开发&#xff0c;并通过标准化的 JavaScript API 和原生接口&#xff08;如 C 和 Java…

import是如何“占领满屏“

import是如何“占领满屏“的&#xff1f; 《拒绝使用模块重导&#xff08;Re-export&#xff09;》 模块重导是一种通用的技术。在腾讯、字节、阿里等各大厂的组件库中都有大量使用。 如&#xff1a;字节的arco-design组件库中的组件&#xff1a;github.com/arco-design… …

openEuler卸载 rpm安装的 redis

停止 Redis 服务 sudo systemctl stop redis禁用 Redis 服务 sudo systemctl disable redis 卸载 Redis 软件包 sudo yum remove redis查找并删除 Redis 的残留文件 find / -name red*删除 Redis 配置文件 删除 Redis 数据文件 sudo rm -rf /var/lib/redis检查 Redis 是否…

【目标跟踪】AntiUAV600数据集详细介绍

AntiUAV600数据集的提出是为了适应真实场景&#xff0c;即无人机可能会随时随地出现和消失。目前提出的Anti-UAV任务都只是将其看做与跟踪其他目标一样的任务&#xff0c;没有结合现实情况考虑。 论文链接&#xff1a;https://arxiv.org/pdf/2306.15767https://arxiv.org/pdf/…

【大数据学习 | 面经】Spark 3.x 中的AQE(自适应查询执行)

Spark 3.x 中的自适应查询执行&#xff08;Adaptive Query Execution&#xff0c;简称 AQE&#xff09;通过多种方式提升性能&#xff0c;主要包括以下几个方面&#xff1a; 动态合并 Shuffle 分区&#xff08;Coalescing Post Shuffle Partitions&#xff09;&#xff1a; 当 …

Linux-ubuntu环境配置

一&#xff0c;安装VWware&#xff0c;里面导入镜像文件 这些都是文件夹里面有的&#xff0c;然后对着正点原子视频安装就行&#xff0c;虚拟机的破解码&#xff0c;去百度搜一个能用就行&#xff0c;中间遇见俩问题。①乌班图里面不能上网&#xff0c;②插入U盘后&#xff0c;…

Netty - NIO基础学习

一 简介 1 三大模型是什么&#xff1f; IO三大模型之一&#xff0c;BIO&#xff0c;AIO&#xff0c;还有我们的主角NIO(non-blocking-io)&#xff0c;也就是同步非阻塞式IO。这三种模型到底是干什么的&#xff1f;其实这三种模型都是对于JAVA的一种I/O框架&#xff0c;用来进行…

微前端架构学习笔记

前言 之前遇到过一个需求&#xff0c;有两个项目分别由两个不同的部门负责&#xff0c;不同技术栈&#xff0c;不同代码仓库&#xff1a; A 项目是官网&#xff0c;负责展示产品亮点等信息&#xff0c;有多个入口可以进入 B 项目中的不同页面。B 项目是业务线&#xff0c;负责…

spring6:2入门

spring6&#xff1a;2入门 目录 spring6&#xff1a;2入门2.1、环境要求2.2、构建模块2.3、程序开发2.3.1、引入依赖2.3.2、创建java类2.3.3、创建配置文件2.3.4、创建测试类测试2.3.5、运行测试程序 2.4、程序分析2.5、启用Log4j2日志框架2.5.1、Log4j2日志概述2.5.2、引入Log…

亚马逊云服务器Amazon EC2

一、什么是Amazon EC2&#xff1f; Amazon Elastic Compute Cloud (Amazon EC2) 在 Amazon Web Services (AWS) 云中提供按需、可扩展的计算容量。使用 Amazon EC2 可降低硬件成本&#xff0c;让您能够更快地开发和部署应用程序。您可以使用 Amazon EC2 启动任意数量的虚拟服务…