
SQL调优
文章平均质量分 84
Oracle和MySQL调优博客,有理论也有实践
Nicky.Ma
优秀
展开
-
Oracle SQL调优系列之定位生产性能问题方法
Oracle SQL调优系列之定位生产性能问题方法场景:最近遇到紧急生产问题,因为数据库锁表导致业务功能不能正常使用,对于这种紧急问题,首先要安稳心态,然后合理分析问题,可以先从整体出发,拿下Oracle AWR报告,进行整体分析原创 2021-07-15 11:46:45 · 1916 阅读 · 1 评论 -
Oracle SQL调优系列之SQL Monitor Report
Oracle调优之SQL Monitor Report查看所有的sql monitor report select dbms_sqltune.report_sql_monitor from dual;查看某个sql的sql monitor report SELECT DBMS_SQLTUNE.report_sql_monitor(sql_id => '2rjh5d5k2yujz', type => 'TEXT') from dual;查看某个sql的整体性能 SELEC原创 2020-06-19 15:23:36 · 4859 阅读 · 0 评论 -
Oracle SQL调优系列之看懂执行计划explain
Oracle调优之看懂Oracle执行计划1、写作前言2、什么是执行计划?1、写作前言之前曾经拜读过《收获,不止sql调优》一书,此书是国内DBA写的一本很不错的调优类型的书,是一些很不错的调优经验的分享。虽然读了一遍,做了下读书笔记,觉得很有所收获,但是到实际的实践中觉得还是很缺实践。刚好最近又有一次sql调优培训活动,去参加后,重新复习Oracle执行计划,所以整理资料,做成笔记分享出来2、什么是执行计划?执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述declare b1原创 2020-06-18 10:49:02 · 10832 阅读 · 6 评论 -
Oracle SQL调优系列之no_unnest和unnest用法简介
Oracle调优之子查询嵌套本博客介绍Oracle SQL调优的一种常用也是很实用的方法,也即/*+no_unnest */和/+ unnest/,介绍Oracle 的/*+unnest /、/+ no_unnest */ `之前,先介绍一下Hint。Hint对于开发人员来说,可能不是很熟悉,但是对于DBA来说,Hint可是一种调优的利器,Hint 是Oracle 提供的一种SQL语法,是or...原创 2020-01-11 16:43:26 · 7505 阅读 · 0 评论 -
oracle细节之like模糊查询不能走索引?
这里要纠正一个网上很多教程说的模糊匹配不能走索引的说法,因为在看《收获,不止SQL优化》一书,里面举例说到了,并且自己也跟着例子实践了一下,确实like一些特殊情况也是可以走索引的例子来自《收获,不止SQL优化》一书,实践准备://建表,注意要非空数据drop table t purge;create table t as select * from dba_objects where o...原创 2019-06-07 21:29:31 · 7123 阅读 · 1 评论 -
Oracle SQL调优系列之索引知识学习笔记
索引由根块(Root)、茎块(Branch)、叶子块(Leaf)组成,其中叶子块主要存储索引列具体值(Key Column Value)以及能定位到数据块具体位置的Rowid,茎块和根块主要保存对应下级对应索引,如图,图来自《收获,不止SQL优化》一书索引特性:索引本身是有序的索引本身能存储列值...原创 2019-06-16 22:06:10 · 3203 阅读 · 1 评论 -
Oracle SQL调优系列之表连接学习笔记
文章目录一、表连接类型1.1 内连接1.2 外连接二、表连接方法2.1 表连接方法分类2.2 表连接方法特性区别一、表连接类型表连接类型可以分为:内连接、外连接,在看《收获,不止sql优化》一书并做了笔记1.1 内连接内连接:指表连接的结果只包含那些完全满足连接条件的记录。下面学习一下内连接的,给个例子,这里创建两张表,然后用内连接方式查询,看看例子:SQL>select * fr...原创 2019-06-24 09:28:17 · 2516 阅读 · 0 评论 -
Oracle应用之分组函数之ROLLUP用法
rollup函数本博客简单介绍一下oracle分组函数之rollup的用法,rollup函数常用于分组统计,也是属于oracle分析函数的一种环境准备create table dept as select * from scott.dept;create table emp as select * from scott.emp;业务场景:求各部门的工资总和及其所有部门的工资总和这里可...原创 2019-07-03 21:45:03 · 3899 阅读 · 0 评论 -
《收获,不止SQL优化》读书笔记
整体性能分析AWR、ASH、ADDM、AWRDD整体分析调优工具AWR:关注数据库的整体性能的报告;ASH:数据库中的等待事件与哪些SQL具体对应的报告;ADDM:oracle给出的一些建议AWRDD:Oracle针对不同时段的性能对比报告AWRSQRPT:oracle获取统计信息与执行计划不同场景对应工具局部分析调优工具:explain plan forset aut...原创 2019-07-07 08:06:14 · 4726 阅读 · 0 评论 -
Oracle SQL调优系列之cursor学习笔记
文章目录一、oracle库缓存1.1、库缓存简介1.2、相关概念1.3、库缓存结构1.4、sql执行过程简介二、oracle cursor2.1、cursor分类2.2、shared cursor2.3、session cursor2.4、sql执行过程最近在看《基于oracle的sql优化》一书,并做了笔记一、oracle库缓存1.1、库缓存简介介绍oracle cursor(游标)之前...原创 2019-08-23 21:06:00 · 2970 阅读 · 0 评论 -
MySQL系列之逻辑架构简介
Mysql服务器逻辑架构图:第一层结构主要处理客户端与mysql服务端的连接、授权认证、安全等;第二层是Mysql服务端的核心,功能包括查询解析、分析、优化、缓存等,存储过程、触发器、视图等都在这一层实现;第三层的存储引擎主要负责数据存储和提取,存储引擎不会去解析sql,不同存储引擎之间不会通讯,只会简单地响应上层服务器的请求一、连接管理每个客户端连接成功,都会在服务器进程中拥有一个线程,...原创 2019-08-31 17:28:35 · 6809 阅读 · 4 评论 -
MySQL系列之索引知识学习笔记
继我的上篇博客:Oracle索引知识学习笔记之后,再记录一篇MySQL的索引知识学习笔记,本博客是我在学习尚硅谷的学习教程后,做的笔记,当然我不是为了所谓宣传,仅仅是学习记录的笔记,本来可以不分享出来,分享出来的目录仅仅可以给网上的学习者参考学习,同时写在csdn比较方便,支持图片上传,也方便自己以后查找复习文章目录一、索引的概念二、索引分类三、索引用法四 、索引架构简介五、索引适用的情况六、索...原创 2019-09-15 16:11:13 · 3572 阅读 · 2 评论 -
MySQL系列之执行计划学习笔记
继上一篇博客《MySQL的索引知识学习笔记》之后,我再记录一篇MySQL执行计划方面的博客,本博客是我在学习尚硅谷的学习教程后,做的笔记,当然我不是为了所谓宣传,仅仅是学习记录的笔记。本来可以不分享出来,不过,分享出来的笔记不仅可以给网上的学习者参考学习,同时写在csdn比较方便,可以支持图片上传,也方便自己以后查找复习附录:我创建的数据库方面的专栏SQL调优方面的专栏MySQL知识方面的...原创 2019-09-15 16:13:11 · 3629 阅读 · 0 评论 -
Oracle SQL调优系列之绑定变量用法简介
继上一篇博客Oracle的cursor学习笔记:[Oracle的游标Cursor原理简介](https://smilenicky.blog.csdn.net/article/details/99946785),再介绍oracle的绑定变量介绍绑定变量之前,先介绍SQL执行过程和硬解析的概念:执行sql的过程,会将sql的 /*通过性能视图查询*/select a.*, b.name from v$sesstat a, v$statname b where a.stat原创 2019-09-20 11:39:05 · 3552 阅读 · 0 评论 -
Oracle SQL调优系列之表设计与性能
在看《收获,不止sql优化》一书,并做了笔记,本博客介绍一下一些和调优相关的表比如分区表、临时表、索引组织表、簇表以及表压缩技术分区表使用与查询频繁而更新数据不频繁的情况,不过要记得加全局索引,而不加分区索引,分区类型:分区分为范围分区、列表分区、HASH分区、组合分区四种,用了分区表,查询时就定位到对应的区,而不用全表,所以查询效率比普通表好,当然有很多细节,还是建议看《收获,不止sql优化》...原创 2019-05-18 15:48:15 · 2592 阅读 · 0 评论 -
Oracle SQL调优系列之分区表用法
文章目录一、分区表简介二、分区表优势三、分区表分类3.1 范围分区3.2 列表分区3.3 散列分区3.4 组合分区四、分区相关操作五、分区相关查询附录:分区表索引失效的操作一、分区表简介分区通过让您将它们分解为更小且更易于管理的分区(称为分区)来解决支持非常大的表和索引的关键问题。不需要修改SQL查询和DML语句以访问分区表。但是,在定义分区之后,DDL语句可以访问和操作个别分区,而不是整个...原创 2019-05-18 15:47:34 · 3466 阅读 · 0 评论 -
Oracle SQL调优系列之sql共享池
遇到需要排查一个系统使用sql的情况,可以通过查询Oracle的$sql、$ssssion、$sqlarea进行统计排查排查时可以先看一下$sql和$session的基本信息 select * from v$sql a, v$session b where b.SQL_ADDRESS = a.ADDRESS and b.SQL_HASH_VALUE = a.HASH_VALU...原创 2019-01-20 23:07:54 · 4258 阅读 · 0 评论 -
Oracle SQL调优系列之经验小归纳
文章目录一、前言二、注意点三、Oracle执行计划四、调优记录4.1 强制索引4.2 基数反馈机制4.3 oracle开窗函数一、前言本博客只记录工作中的一次oracle sql调优记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太多表。面对复杂的业务场景,确实有些情况是需要关联很多表的。当然有些情况是可以将业务实现放在Java代码里,有些情况可以不要关联很多表。二、注意...原创 2018-12-31 00:06:46 · 4693 阅读 · 0 评论 -
Oracle SQL调优系列之访问数据的方法
本博客介绍oracle优化器的一些基本概念原创 2019-03-02 23:36:18 · 2724 阅读 · 0 评论 -
Oracle SQL调优系列之优化器基础知识
文章目录一、访问数据的方法1、直接访问数据1.1 全表扫描1.2 ROWID扫描2、访问索引2.1 索引唯一扫描2.2 索引范围扫描2.3 索引全扫描2.4 索引快速全扫描2.5 索引跳跃式扫描拓展补充本博客介绍一下属于oracle优化器范畴的一些基础知识,访问数据的方法,分为直接访问数据的方法和访问索引的方法两种,然后有了这些基础知识后,可以参考学习我的另外一篇博客:Oracle优化器简介,对...原创 2019-03-19 23:03:45 · 3054 阅读 · 0 评论 -
Oraccle SQL调优系列之ASH简介
我写的SQL调优专栏:https://blog.csdn.net/u014427391/article/category/8679315对于局部的,比如某个页面列表sql,我们可以使用Oracle的执行计划进行sql调优,但是对于整个系统来说,你可以知道哪些sql比较耗时?当然可以通过查Oracle的共享池得到,不过Oracle系统本身就提供了几种性能分析报告,比如AWR、ASH、ADDM等等报...原创 2019-04-20 17:36:02 · 3185 阅读 · 0 评论 -
Oracle SQL调优系列之AWRSQRPT报告简介
我写的SQL调优专栏:https://blog.csdn.net/u014427391/article/category/8679315对于局部的,比如某个页面列表sql,我们可以使用Oracle的执行计划进行sql调优,但是对于整个系统来说,你可以知道哪些sql比较耗时?当然可以通过查Oracle的共享池得到,不过Oracle系统本身就提供了几种性能分析报告,比如AWR、ASH、ADDM、AW...原创 2019-04-21 14:14:46 · 3878 阅读 · 0 评论 -
Orace SQL调优系列之ADDM报告简介
我写的SQL调优专栏:https://blog.csdn.net/u014427391/article/category/8679315对于局部的,比如某个页面列表sql,我们可以使用Oracle的执行计划进行sql调优,但是对于整个系统来说,你可以知道哪些sql比较耗时?当然可以通过查Oracle的共享池得到,不过Oracle系统本身就提供了几种性能分析报告,比如AWR、ASH、ADDM、AW...原创 2019-04-21 14:15:31 · 3319 阅读 · 0 评论 -
Oracle SQL调优系列之AWRDD报告简介
我写的SQL调优专栏:https://blog.csdn.net/u014427391/article/category/8679315对于局部的,比如某个页面列表sql,我们可以使用Oracle的执行计划进行sql调优,但是对于整个系统来说,你可以知道哪些sql比较耗时?当然可以通过查Oracle的共享池得到,不过Oracle系统本身就提供了几种性能分析报告,比如AWR、ASH、ADDM、AW...原创 2019-04-21 15:29:31 · 2958 阅读 · 1 评论 -
Orace SQL调优系列之执行计划学习笔记
整体性能分析AWR、ASH、ADDM、AWRDD整体分析调优工具AWR:关注数据库的整体性能的报告;ASH:数据库中的等待事件与哪些SQL具体对应的报告;ADDM:oracle给出的一些建议AWRDD:Oracle针对不同时段的性能对比报告AWRSQRPT:oracle获取统计信息与执行计划不同场景对应工具局部分析调优工具:explain plan forset aut...原创 2019-04-27 22:29:35 · 4469 阅读 · 0 评论 -
Oracle SQL调优系列之虚拟索引用法简介
本博客记录一下Oracle虚拟索引的用法,虚拟索引是定义在数据字典中的伪索引,可以说是伪列,没有修改的索引字段的。虚拟索引的目的模拟索引,不会增加存储空间的使用,有了虚拟索引,开发者使用执行计划的时候也不需要等索引完全创建好才可以看到效果ok,这里找张用户表来测试一下虚拟索引//设置执行计划SQL> set autotrace traceonly//查询用户,因为没加索引,所以是全...原创 2019-05-03 00:03:11 · 2508 阅读 · 0 评论 -
Oracle SQL调优系列之物化视图用法简介
文章目录一、物化视图简介二、实践:创建物化视图一、物化视图简介物化视图分类物化视图分类,物化视图语法和as后面的sql分为:(1) 基于主键的物化视图(主键物化视图)(2)基于Rowid的物化视图(Rowid物化视图)本博客介绍一下Oracle的物化视图,物化视图(Materialized view)是相对与普通视图而已的,普通视图是伪表,功能没那么多,而物化视图创建是需要占用一定...原创 2019-05-03 00:03:58 · 2671 阅读 · 0 评论 -
Oracle SQL调优系列之AWR报告简介
文章目录AWRASHADDMAWRSQRPTAWR进入数据库sqlplus / as sysdba查看用户show parameter db_name开始压测后执行exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();可以通过dba_hist_wr_control查看当前的配置情况,当前awr为每1小时做一次数据快照,保留时间为7天...原创 2019-04-20 15:42:36 · 5213 阅读 · 0 评论 -
Oracle SQL调优系列之体系结构学习笔记
Oracle体系结构由实例和一组数据文件组成,实例由SGA内存区,SGA系统结构关系图如:原创 2019-05-08 15:20:18 · 2902 阅读 · 0 评论 -
Oracle SQL调优系列之逻辑结构学习笔记
数据库(Database)由若干表空间(Tablespace)组成,表空间(Tablespace)由若干段(Segment)组成,段(Segment)由若干区(Extent)组成,区(Extent)又由若干块(Block)组成原创 2019-05-11 13:55:23 · 2519 阅读 · 0 评论 -
Orace SQL调优系列之的优化器简介
文章目录一、Oracle的优化器1.1 优化器简介1.2 SQL执行过程二、优化器优化方式2.1 优化器的优化方式2.2 基于规则的优化器2.2.1 RBO简介2.2.2 RBO缺陷2.2.3 RBO执行过程2.2.4 RBO特殊情况2.2.5 强制CBO的情况2.3 基于成本的优化器2.3.1 CBO简介2.3.2 集的势2.3.3 可选择率三、优化器优化模式3.1 优化器优化模式分类3.2 优...原创 2019-02-18 23:56:22 · 3188 阅读 · 0 评论