学习
实践
活动
工具
TVP
写文章

Oracle SQL记录

一、前言 本博客只记录工作中的一次oracle sql记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太多表。面对复杂的业务场景,确实有些情况是需要关联很多表的。 三、Oracle执行计划 对于SQL,可以通过Oracle的执行计划来分析。oracle的执行计划确实是对sql进行分析的一种很好的方法。 下面介绍一下oracle的执行计划。 下面给出一篇很详细介绍oracle执行计划的博客 https://www.cnblogs.com/Dreamer-1/p/6076440.html 四、记录 4.1 强制索引 在加一些索引的过程, 当然这些都是根据实践业务场景来的。我遇到的业务场景是适合的。因为关联的表数据量很大。 方面的博客都放在:https://blog.csdn.net/u014427391/article/category/6112832 然后推荐一本oracle书籍《收获,不止SQL优化》一书

68330

Oracle SQL之表设计

210,220)), rpad('*', 1, '*') from dual connect by rownum <= 1000; commit; 组合分区 主要有两种:oracle11 之前只支持范围列表分区(RANGE-LIST)和范围散列分区(RANGE-HASH),oracle11之后支持(范围范围分区)RANGE-RANGE、 (列表范围分区)LIST-RANGE、(列表散列分区

26440
  • 广告
    关闭

    2022腾讯全球数字生态大会

    11月30-12月1日,邀您一起“数实创新,产业共进”!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Oracle SQL之分区表

    tablespace_name from user_segments where segment_name IN ('RANGE_PART_TAB', 'NOR_TAB'); 二、分区表优势 引用Oracle 官方文档的说法,https://docs.oracle.com/cd/B19306_01/server.102/b14220/partconc.htm#sthref2604: (1) 分区支持数据管理操作 三、分区表分类 分区类型:分区分为范围分区、列表分区、HASH分区、组合分区四种,图来自Oracle官方网站 ? )LIST-HASH、(列表列表分区)LIST-LIST这几种组合,为了避免每个主分区中都写相同的从分区,可以用模板方式(subpartition template) 图来自Oracle官方网站: user_indexes b where a.index_name = b.index_name and a.status = 'UNUSABLE'; 附录:分区表索引失效的操作 ps:表格来自《收获,不止SQL

    73810

    Oracle之Hint用法整理笔记

    整理工作中用到的Hint,不定时更新,Hint是oracle早期因为oracle优化器还不是很完善加上去的,可以辅助oracle优化器,Hint 是Oracle 提供的一种SQL语法,常用于SQL, 通过Hint强行改变Oracle的执行计划,从而实现sql 文章目录 1、/*+ result_cache */ 2、/*+ connect_by_filtering */ 3、/*+ no_unnset 一般并行特性是比较容易影响系统性能的,不能滥用,除非特殊场景 21、/*+ ROWID(表名) */ 表明对指定表根据ROWID进行访问,ROWID是一个伪列,通过ROWID定位查找速度更快,可以用于SQL

    13810

    Oracle SQL系列之sql共享池

    遇到需要排查一个系统使用sql的情况,可以通过查询Oracle的$sql、$ssssion、$sqlarea进行统计排查 排查时可以先看一下$sql和$session的基本信息 select * 去Oracle的sql共享池$sqlarea查询sql的执行次数,分析SQL执行性能 EXECUTIONS :所有子游标执行SQL的次数 DISK_READS:所有子游标执行SQL需要读的硬盘次数

    6220

    Oracle sql(网络优化知识点)

    优化器范畴的一些基础知识,访问数据的方法,分为直接访问数据的方法和访问索引的方法两种,然后有了这些基础知识后,可以参考学习我的另外一篇博客:Oracle优化器简介,对Oracle 的一些原理的简单介绍 ,对于学习oracle方面的SQL优化是有帮助的,https://blog.csdn.net/u014427391/article/details/87656904 一、访问数据的方法 Oracle访问表中数据的方法有两种 本博客先介绍直接访问数据的方法,下一篇博客在访问索引的方法 1.1、直接访问数据 Oracle直接访问表中数据的方法又分为两种:一种是全表扫描;另一种是ROWID扫描 1.1.1 全表扫描 全表扫描是Oracle 的优化器 2.1 优化器简介 优化器(Optimizer):优化器是Oracle数据库内置的一个核心子系统,负责解析SQL,Oracle优化器是Oracle系统的一个核心组件,其目的是按照一定的原则来获取目标 然后oracle自然就选出等级1的执行路径作为执行计划。

    6700

    Oracle SQL系列之AWRSQRPT报告简介

    我写的SQL专栏:https://blog.csdn.net/u014427391/article/category/8679315 整体分析工具 AWR:关注数据库的整体性能的报告; ASH: 数据库中的等待事件与哪些SQL具体对应的报告; ADDM:oracle给出的一些建议 AWRDD:Oracle针对不同时段的性能对比报告 AWRSQRPT:oracle获取统计信息与执行计划 不同场景对应工具 局部分析工具: explain plan for set autotrace on statistics_level=all 直接通过sql_id获取 10046 trace awrrpt.sql 的执行计划进行sql,但是对于整个系统来说,你可以知道哪些sql比较耗时? 当然可以通过查Oracle的共享池得到,不过Oracle系统本身就提供了几种性能分析报告,比如AWR、ASH、ADDM、AWRSRPT等等报告,本博客介绍一下AWRSRPT性能分析报告 1.1 工具选择

    18020

    Oracle SQL系列之AWRDD报告简介

    我写的SQL专栏:https://blog.csdn.net/u014427391/article/category/8679315 整体分析工具 AWR:关注数据库的整体性能的报告; ASH: 数据库中的等待事件与哪些SQL具体对应的报告; ADDM:oracle给出的一些建议 AWRDD:Oracle针对不同时段的性能对比报告 AWRSQRPT:oracle获取统计信息与执行计划 不同场景对应工具 局部分析工具: explain plan for set autotrace on statistics_level=all 直接通过sql_id获取 10046 trace awrrpt.sql 的执行计划进行sql,但是对于整个系统来说,你可以知道哪些sql比较耗时? 当然可以通过查Oracle的共享池得到,不过Oracle系统本身就提供了几种性能分析报告,比如AWR、ASH、ADDM、AWRDD等等报告,本博客介绍一下AWRDD性能分析报告 AWRDD报告是Oracle

    16720

    Oracle SQL系列之SQL Monitor Report

    1、SQL Monitor简介 sql monitor是oracle官方提供的自动监控符合特定条件的SQL,用于收集执行时的细节信息的监控工具,常用于sql和系统性能监控 2、捕捉sql的前提 sql

    28420

    Oracle SQL系列之AWR报告简介

    load_profile 2.3 AWR之efficiency percentages 2.4 AWR之top 10 events 2.5 AWR之SQL Statistics 一、AWE报告生成步骤 对于SQL ,局部SQL,我们可以直接使用执行计划等直接,而对于整个系统来说? 整体分析工具 AWR:关注数据库的整体性能的报告; ASH:数据库中的等待事件与哪些SQL具体对应的报告; ADDM:oracle给出的一些建议 AWRDD:Oracle针对不同时段的性能对比报告 AWRSQRPT:oracle获取统计信息与执行计划 不同场景对应工具 局部分析工具: explain plan for set autotrace on statistics_level=all ,SQL可以用执行计划看看 对于AWR的性能指标还有很多,本博客是看了《收获,不止SQL优化》一书的笔记,这里只简单介绍一些比较重要的指标

    59021

    SQL之性能

    针对专门操作符的 前面,讲的是关于查询条件的一般规则,在这一节中,将讨论如何使用专门的操作符来改进 SQL 代码的性能。 与 (AND) 数据库系统按着从左到右的顺序来解析一个系列由 AND 连接的表达式,但是 Oracle 却是个例外,它是从右向左地解析表达式。 WHERE column2 = 'B' AND column1 = 'A' 这里假设 column2 = 'B'的概率较低,如果是 Oracle 数据库的话,只需将规则反过来用即可。 本文总结的是一些 SQL 性能的比较初级的方面,SQL 还包括 Order by,Group by 以及 Index 等等。

    23230

    Oracle性能之物化视图用法简介

    一、物化视图简介 物化视图分类 物化视图分类,物化视图语法和as后面的sql分为: (1) 基于主键的物化视图(主键物化视图) (2)基于Rowid的物化视图(Rowid物化视图) 本博客介绍一下Oracle 的物化视图,物化视图(Materialized view)是相对与普通视图而已的,普通视图是伪表,功能没那么多,而物化视图创建是需要占用一定的存储空间的,物化视图常被应用与一些列表SQL查询,物化视图的基本语法

    57520

    Oracle SQL之绑定变量用法简介

    本文链接:https://blog.csdn.net/u014427391/article/details/101017248 一、SQL执行过程简介 继上一篇博客Oracle的cursor学习笔记 :Oracle的游标Cursor原理简介,再介绍oracle的绑定变量 介绍绑定变量之前,先介绍SQL执行过程和硬解析的概念: 执行sql的过程,会将sql的文本进行hash运算,得到对象的hash值, 执行计划、解析树等对象,所以执行相同的sql第二次执行时是会比较快的,因为不需要解析获取执行计划,解析树等对象,如果找不到库缓存对象句柄,就需要重新解析,这个过程解析过多,容易造成硬解析问题 硬解析:是指Oracle 软解析:是指Oracle在执行目标SQL时,在Library Cache中找到了匹配的Parent Cursor和Child Cursor,并将存储在Child Cursor中的解析树和执行计划直接拿过来重用 commit; end; / 所以绑定变量在pl/sql里的核心语法为: execute immediate [sql语句] using [变量] 2.3、PL/SQL批量绑定变量 例子来自《基于Oracle

    52920

    Oracle SQL系列之经验小归纳

    文章目录 一、写作前言介绍 二、注意点 三、Oracle执行计划 四、方法记录 4.1 强制索引使用 4.2 基数反馈机制 4.3 oracle开窗函数 一、写作前言介绍 本博客只记录工作中的一次 oracle sql记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太多表。 不过因为本人不做DBA工作,是做开发的,所以本博客只能参考,不能当做规范 二、注意点 对于SQL,不要马上就说加索引什么的,加索引不一定就能解决问题的,加错索引,反而会导致查询变慢,注意加索引的同时也会影响数据库写数据的速度 三、Oracle执行计划 对于SQL,可以通过Oracle的执行计划来分析。oracle的执行计划确实是对sql进行分析的一种很好的方法。 下面介绍一下oracle的执行计划。 方面的博客都放在:https://blog.csdn.net/u014427391/category_8679315.html 然后推荐一本oracle书籍《收获,不止SQL优化》一书

    15320

    【Spark篇】---Spark之代码,数据本地化,内存,SparkShuffle,Executor的堆外内存

    一、前述 Spark中大致分为以下几种 ,代码,数据本地化,内存,SparkShuffle,调节Executor的堆外内存。 二、具体    1、代码 1、避免创建重复的RDD,尽量使用同一个RDD 2、对多次使用的RDD进行持久化 如何选择一种最合适的持久化策略? 通过日志或者WEBUI 3、内存 ? Spark  JVM主要是降低gc时间,可以修改Executor内存的比例参数。 RDD缓存、task定义运行的算子函数,可能会创建很多对象,这样会占用大量的堆内存。 Spark中如何内存

    36430

    Oracle SQL系列之SQL Monitor Report

    1、SQL Monitor简介 sql monitor是oracle官方提供的自动监控符合特定条件的SQL,用于收集执行时的细节信息的监控工具,常用于sql和系统性能监控 2、捕捉sql的前提 sql

    54610

    Oracle SQL系列之cursor学习笔记

    文章目录 一、oracle库缓存 1.1、库缓存简介 1.2、相关概念 1.3、库缓存结构 1.4、sql执行过程简介 二、oracle cursor 2.1、cursor分类 2.2、shared cursor 2.3、session cursor 2.4、sql执行过程 最近在看《基于oracle的sql优化》一书,并做了笔记 一、oracle库缓存 1.1、库缓存简介 介绍oracle cursor (游标)之前先,介绍一下oracle的库缓存,Oracle库缓存(Library Cache)是SGA中的一块内存区域,它的主要作用是缓存刚刚执行过的SQL语句或者PL/SQL语句(比如存储过程、函数、 库缓存的结构,图来自《基于Oracle的SQL优化》一书: 库缓存是由一组Hash Buckets组成的,Hash Buckets里面存储的hash值相同的库缓存对象句柄,而Hash Buckets 二、oracle cursor 2.1、cursor分类 oracle的cursor其实就是库缓存对象,Oracle中的cursor分为两种,一种是shared cursor,另外一种是session

    10220

    Tomcat 性能之 JVM

    因此在对Web 容器( 应用服务器) 的中必不可少的是对于 JVM 的。 对于 JVM 的,主要有两个方面考虑: 内存大小配置 垃圾回收算法选择 当然,确切的说,以上两点并不互相独立,内存的大小配置也会影响垃圾回收的执行效率。 延迟、吞吐量 其他 JVM 配置 垃圾回收算法对应到的就是不同的垃圾收集器,具体到在 JVM 中的配置,是使用 -XX:+UseParallelOldGC 或者 -XX:+UseConcMarkSweepGC 所谓,就是一个不断调整和优化的过程,需要观察、配置、测试再如此重复。有相关经验的朋友欢迎留言补充! 说到底,那上面的这些选项是要配置在哪里呢?

    48930

    Spark 性能之开发

    Spark的性能实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。 整套方案主要分为开发、资源、数据倾斜、shuffle几个部分。 开发和资源是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle,面向的是对 Spark的原理有较深层次掌握和研究的同学,主要讲解了如何对Spark作业的shuffle运行过程以及细节进行。 本文作为Spark性能优化指南的基础篇,主要讲解开发。 2. 开发 2.1 概述 Spark性能优化的第一步,就是要在开发Spark作业的过程中注意和应用一些性能优化的基本原则。

    19831

    数据库 项目

    Springboot项目 配置文件 更改Tomcat的相关配置 设置Tomcat的最大连接数 设置请求头最大内存 设置post请求的最大内存 设置Tomcat最大线程数 设置Tomcat 的最小工作线程数 JVM 设置项目启动的参数 在vm option处添加配置内容 -XX:MetaspaceSize=128m #(元空间默认大小) -XX:MaxMetaspaceSize=128m

    29751

    扫码关注腾讯云开发者

    领取腾讯云代金券