首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle SQL记录

一、前言 本博客只记录工作中的一次oracle sql记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太多表。面对复杂的业务场景,确实有些情况是需要关联很多表的。...二、注意点 对于SQL,不要马上就说加索引什么的,加索引不一定就能解决问题的,加错索引,反而会导致查询变慢,注意加索引的同时也会影响数据库写数据的速度。...三、Oracle执行计划 对于SQL,可以通过Oracle的执行计划来分析。oracle的执行计划确实是对sql进行分析的一种很好的方法。 下面介绍一下oracle的执行计划。...当然这些都是根据实践业务场景来的。我遇到的业务场景是适合的。因为关联的表数据量很大。...方面的博客都放在:https://blog.csdn.net/u014427391/article/category/6112832 然后推荐一本oracle书籍《收获,不止SQL优化》一书

1.1K30

Oracle SQL之表设计

不过要记得加全局索引,而不加分区索引,分区类型:分区分为范围分区、列表分区、HASH分区、组合分区四种,用了分区表,查询时就定位到对应的区,而不用全表,所以查询效率比普通表好,当然有很多细节,还是建议看《收获,不止sql...210,220)), rpad('*', 1, '*') from dual connect by rownum <= 1000; commit; 组合分区 主要有两种:oracle11...之前只支持范围列表分区(RANGE-LIST)和范围散列分区(RANGE-HASH),oracle11之后支持(范围范围分区)RANGE-RANGE、 (列表范围分区)LIST-RANGE、(列表散列分区...user_indexes b where a.index_name = b.index_name and a.status = 'UNUSABLE'; 分区表索引失效的操作,表格来自《收获,不止SQL

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

Oracle SQL系列之sql共享池

遇到需要排查一个系统使用sql的情况,可以通过查询Oracle的$sql、$ssssion、$sqlarea进行统计排查 排查时可以先看一下$sql和$session的基本信息 select *.../51331120 SQL_TEXT //当前正在执行的游标的sql文本的前1000个字符 SQL_FULLTEXT //CLOB类型 整个sql文本,不用借助于V$SQL_TEXT视图来查看整个文本...去Oraclesql共享池$sqlarea查询sql的执行次数,分析SQL执行性能 EXECUTIONS :所有子游标执行SQL的次数 DISK_READS:所有子游标执行SQL需要读的硬盘次数...BUFFER_GETS :所有子游标执行SQL需要读的内存次数 ELAPSED_TIME:所有子游标执行SQL需要的时间 分析SQL执行性能 SELECT SQL_TEXT, SQL_FULLTEXT...sql,上述数据越低就说明SQL执行速度越高,性能越好

24020

Oracle SQL系列之SQL Monitor Report

1、SQL Monitor简介 sql monitor是oracle官方提供的自动监控符合特定条件的SQL,用于收集执行时的细节信息的监控工具,常用于sql和系统性能监控 2、捕捉sql的前提 sql...,'ACTIVE',其中'ACTIVE'只在11g R2以后才支持 4.1、SQL_ID获取 sql monitor使用,必须在sql中使用/* +MONITOR*/ Hint,然后数据会存在v$sql_monitor...查询,获取sql_id select sql_id,sql_text from v$sql_monitor where sql_text like '%t_unit_info% 4.2、Text文本格式...dbms_sqltune.report_sql_monitor from dual; 5.2、查看某个sqlsql monitor report 查看某个sqlsql monitor report...查看某个sql的整体性能 查看某个sql的整体性能 SELECT DBMS_SQLTUNE.report_sql_monitor_list(sql_id=>'2rjh5d5k2yujz',type

73520

Oracle SQL系列之SQL Monitor Report

1、SQL Monitor简介 sql monitor是oracle官方提供的自动监控符合特定条件的SQL,用于收集执行时的细节信息的监控工具,常用于sql和系统性能监控 2、捕捉sql的前提 sql...,‘ACTIVE’,其中’ACTIVE’只在11g R2以后才支持 4.1、SQL_ID获取 sql monitor使用,必须在sql中使用/* +MONITOR*/ Hint,然后数据会存在v$sql_monitor...查询,获取sql_id select sql_id,sql_text from v$sql_monitor where sql_text like '%t_unit_info% 4.2、Text文本格式...dbms_sqltune.report_sql_monitor from dual; 5.2、查看某个sqlsql monitor report 查看某个sqlsql monitor report...sql的整体性能 查看某个sql的整体性能 SELECT DBMS_SQLTUNE.report_sql_monitor_list(sql_id=>'2rjh5d5k2yujz',type =>'

83010

Oracle SQL之分区表

不需要修改SQL查询和DML语句以访问分区表。但是,在定义分区之后,DDL语句可以访问和操作个别分区,而不是整个表或索引。这就是分区可以简化大型数据库对象的可管理性的方式。...官方文档的说法,https://docs.oracle.com/cd/B19306_01/server.102/b14220/partconc.htm#sthref2604: (1) 分区支持数据管理操作...三、分区表分类 分区类型:分区分为范围分区、列表分区、HASH分区、组合分区四种,图来自Oracle官方网站 ?...user_indexes b where a.index_name = b.index_name and a.status = 'UNUSABLE'; 附录:分区表索引失效的操作 ps:表格来自《收获,不止SQL...》一书作者的整理 操作动作 操作命令 是否失效(全局索引) 如何避免(全局索引) 是否失效(分区索引) 如何避免(分区索引) truncate分区 alter table part_tab_trunc

1.1K10

SQL之性能

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

1.7K30

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...,我们可以使用Oracle的执行计划进行sql,但是对于整个系统来说,你可以知道哪些sql比较耗时?...的命令找不到文件 这个要根据自己的Oracle安装路径去修改,例如: @D:/oracle/product/11.1.0/db_1/RDBMS/ADMIN/awrddrpt.sql (1)快照报告格式

44520

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...,我们可以使用Oracle的执行计划进行sql,但是对于整个系统来说,你可以知道哪些sql比较耗时?...的命令找不到文件 这个要根据自己的Oracle安装路径去修改,例如: @D:/oracle/product/11.2.0/dbhome_1/RDBMS/ADMIN/awrsqrpt.sql (1)AWRSQRPT

53520

Oracle SQL系列之AWR报告简介

Statistics 一、AWE报告生成步骤 对于SQL,局部SQL,我们可以直接使用执行计划等直接,而对于整个系统来说?...整体分析工具 AWR:关注数据库的整体性能的报告; ASH:数据库中的等待事件与哪些SQL具体对应的报告; ADDM:oracle给出的一些建议 AWRDD:Oracle针对不同时段的性能对比报告...AWRSQRPT:oracle获取统计信息与执行计划 不同场景对应工具 局部分析工具: explain plan for set autotrace on statistics_level=all.../RDBMS/ADMIN/awrrpt.sql 例如我的命令为: @D:/oracle/product/11.1.0/db_1/RDBMS/ADMIN/awrrpt.sql sqlplus登录的可以使用...Statistics SQL Statistics从几个维度列举了系统执行比较慢的SQL,可以点击,然后拿SQLSQL可以用执行计划看看 对于AWR的性能指标还有很多,本博客是看了《收获

1.2K21

Oracle sql(网络优化知识点)

,对于学习oracle方面的SQL优化是有帮助的,https://blog.csdn.net/u014427391/article/details/87656904 一、访问数据的方法 Oracle访问表中数据的方法有两种...创建唯一性索引SQL是: create unique index 索引名 on 表名(列名) 例子,例子来自《基于OracleSQL优化》一书: scott用户登录 SQL> create table...(Optimizer):优化器是Oracle数据库内置的一个核心子系统,负责解析SQLOracle优化器是Oracle系统的一个核心组件,其目的是按照一定的原则来获取目标SQL在当前情形下执行的最高效执行路径...2.2 SQL执行过程 Oracle SQL的执行过程: 2.3 结果集 结果集(Row Source)是指包含指定执行结果的集合。结果集适用于RBO和CBO。...《基于OracleSQL优化一书》,作者提供了改写等价sql的方法,比如在sql的where条件中对number或者date类型的列加0, select * from 表格 where a+0>参数

67600

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优化》一书

38320

Oracle SQL之绑定变量用法简介

本文链接:https://blog.csdn.net/u014427391/article/details/101017248 一、SQL执行过程简介 继上一篇博客Oracle的cursor学习笔记...:Oracle的游标Cursor原理简介,再介绍oracle的绑定变量 介绍绑定变量之前,先介绍SQL执行过程和硬解析的概念: 执行sql的过程,会将sql的文本进行hash运算,得到对象的hash值,...,解析树等对象,如果找不到库缓存对象句柄,就需要重新解析,这个过程解析过多,容易造成硬解析问题 硬解析:是指Oracle在执行目标SQL时,在库缓存中找不到可以重用的解析树和执行计划,而不得不从头开始解析目标...; end; / 所以绑定变量在pl/sql里的核心语法为: execute immediate [sql语句] using [变量] 2.3、PL/SQL批量绑定变量 例子来自《基于Oracle的...(); 批量绑定变量写法: 此例子来自《基于OracleSQL优化》一书: String vc_sql = 'update t_emp set sal = ?

1.2K20

SQL系列文章之—SQL简介

自动SQL调整 管理SQL集 使用SQL顾问分析SQL 使用SQL访问顾问优化访问路径 SQL管理对象 管理SQL Profile SQL计划管理概述 管理SQL计划基准 1 SQL简介...1.4.2.1 自动SQL工具 Oracle数据库提供了几个与SQL相关的顾问程序。 此外,SQL计划管理是一种可以防止性能回归的机制,还可以帮助您提高SQL性能。...1.4.2.1.2 SQL顾问 SQL顾问是内部诊断软件,可识别有问题的SQL语句,并建议如何提高语句性能。...在数据库维护窗口期间作为自动维护任务运行时,SQL顾问称为自动SQL调整顾问SQL顾问将一个或多个SQL语句作为输入,并调用自动调整优化器对语句执行SQL。...例如,DBMS_SQLTUNE 包是SQL顾问的命令行界面。 Oracle建议将Cloud Control作为数据库管理和的最佳界面。

1.8K30

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执行过程 最近在看《基于oraclesql优化》一书,并做了笔记 一、oracle库缓存 1.1、库缓存简介 介绍oracle cursor...(游标)之前先,介绍一下oracle的库缓存,Oracle库缓存(Library Cache)是SGA中的一块内存区域,它的主要作用是缓存刚刚执行过的SQL语句或者PL/SQL语句(比如存储过程、函数、...库缓存的结构,图来自《基于OracleSQL优化》一书: 库缓存是由一组Hash Buckets组成的,Hash Buckets里面存储的hash值相同的库缓存对象句柄,而Hash Buckets...cursor 2.2、shared cursor shared cursor存储目标SQLsql文本、解析树、该sql使用的绑定变量类型和长度、以及该SQL的执行计划等信息 oracle中的shared

46920

Spark | Spark SQL参数

欢迎您关注《大数据成神之路》 前言 Spark SQL里面有很多的参数,而且这些参数在Spark官网中没有明确的解释,可能是太多了吧,可以通过在spark-sql中使用set -v 命令显示当前spark-sql...本文讲解最近关于在参与hive往spark迁移过程中遇到的一些参数相关问题的。 内容分为两部分,第一部分讲遇到异常,从而需要通过设置参数来解决的;第二部分讲用于提升性能而进行的。...异常 spark.sql.hive.convertMetastoreParquet parquet是一种列式存储格式,可以用于spark-sql 和hive 的存储格式。...性能 除了遇到异常需要被动调整参数之外,我们还可以主动调整参数从而对性能进行。...com.mysql.jdbc,org.postgresql,com.microsoft.sqlserver,oracle.jdbc A comma separated list of class prefixes

6.9K62

Oracle SQL系列之索引知识学习笔记

文章目录 一、Oracle索引简介 1.1 索引分类 1.2 索引数据结构 1.3 索引特性 1.4 索引使用注意要点 1.5、索引的缺点 1.6、索引失效 二、索引分类介绍 2.1、位图索引 1.2、...函数索引 1.3、反向索引 1.4、全文索引 一、Oracle索引简介 在看《收获,不止SQL优化》一书,并根据书中例子进行实践,整理成笔记 1.1 索引分类 Oracle索引分为BTree索引、位图索引...1.2 索引数据结构 Oracle索引中最常用的是BTree索引,所以就以BTree索引为例,讲一下BTree索引,BTree索引数据结构是一种二叉树的结构,索引由根块(Root)、茎块(Branch)...(t , idx_type_id) */ * from t where object_id>=20 and object_id<2000 and object type='TABLE'; (3)、Oracle...、全文索引 全文索引:所谓Oracle全文索引是通过Oracle词法分析器(lexer)将所有的表意单元term存储dr$开头的表里并存储term出现的位置、次数、hash值等等信息,Oracle提供了

54910

Oracle SQL系列之访问数据的方法

1.1 全表扫描 1.2 ROWID扫描 2、访问索引 2.1 索引唯一扫描 2.2 索引范围扫描 2.3 索引全扫描 2.4 索引快速全扫描 2.5 索引跳跃式扫描 拓展补充 一、访问数据的方法 Oracle...本博客先介绍直接访问数据的方法,下一篇博客在访问索引的方法 1、直接访问数据 Oracle直接访问表中数据的方法又分为两种:一种是全表扫描;另一种是ROWID扫描 1.1 全表扫描 全表扫描是Oracle...查询一下相对文件id和绝对文件编码 select file_name,file_id,relative_fno from dba_data_files; 2、访问索引 对于Oracle数据库来说,B树索引是最常见的了...,下面给出B树索引的图,图来自《基于OracleSQL优化》一书: 对于B树索引,分成两种类型的数据块,一种是索引分支块,另外一种是索引叶子块,索引根块是一种特殊的索引分支块。...创建唯一性索引SQL是: create unique index 索引名 on 表名(列名) 例子,例子来自《基于OracleSQL优化》一书: scott用户登录 SQL> create table

35040

Oracle之看懂SQL执行计划explain

1、文章写作前言简介 之前曾经拜读过《收获,不止sql》一书,此书是国内DBA写的一本很不错的类型的书,是一些很不错的经验的分享。...刚好最近又有一次sql培训活动,去参加后,重新复习Oracle执行计划,所以整理资料,做成笔记分享出来 2、什么是执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述。...执行计划描述了SQL引擎为执行SQL语句进行的操作;分析SQL语句相关的性能问题或仅仅质疑查询优化器的决定时,必须知道执行计划;所以执行计划常用于sql。 3、怎么查看执行计划?...查看Oracle执行计划有很多种,详情参考我之前的读书笔记,本博客只介绍很常用的方法 oracle要使用执行计划一般在sqlplus执行sql: explain plan for select 1 from...笛卡尔连接(Cross join) 如果两个表做表连接而没有连接条件,而会产生笛卡尔积,在实际工作中应该尽可能避免笛卡尔积 对于这些连接的详细介绍可以查看《收获,不止sql》一书,或者查看我做的读书笔记

7.1K21
领券