自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小工匠

show me the code ,change the world

  • 博客(19)
  • 资源 (12)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Oracle优化07-分析及动态采样-直方图

思维导图概述获取准确的段对象(表、表分区、索引等)的分析数据,是CBO存在的基石。所以数据段的分析对于CBO来讲非常的重要。在本篇博文中我们重新梳理一下,从头开始,再一次走进CBO的世界。我们知道CBO的机制是手机尽可能多的对象信息和系统信息,通过对这些信息进行计算、分析、评估,最终得出一个成本最低的执行花来,这就是CBO的全部。 为了让CBO总是能做出最正确的SQL执行计划,就需要给CBO提供尽可

2016-12-27 23:53:11 6017

原创 Oracle优化05-执行计划

思维导图系列文章Oracle-SQL Explain Plan解读概述如果要分析某条SQL的性能问题,通常来讲,我们首先要看SQL的执行计划,看看SQL的每一步执行计划是否存在问题。 如果某一条SQL平常执行的都很好,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本上可以判断是执行计划出现了问题。 看懂执行计划变成了SQL优化(其实在大多数的情况下,SQL优化指的是SQL的性能问题定位

2016-12-26 23:01:52 6121

原创 Oracle优化04-Optimizer优化器

思维导图Optimizer概述Oracle数据库中的优化器是SQL分析和执行的优化工具,它负责制定SQL的执行计划,也就是它负责保证SQL执行效率最高.比如优化器决定Oracle是以什么样的方式方式访问数据,是全表扫描(Full Table Scan) 、索引范围扫描(Index Range Scan)还是全索引快速扫描(INDEX Fast Full Scan, INDEX_FFS).对于多表关联

2016-12-26 20:59:59 6318

原创 Oracle-多表连接的三种方式解读

概述在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。 下面是从10053事件中截取的部分trace原文件。Join order[2]: T[T]#1 T1[T1]#0........省略NL Join........ Best NL cost: 574.45 resc: 574.45 resc_io: 567.00 resc_c

2016-12-19 01:56:11 8476

原创 Oracle优化03-Latch和等待

思维导图系列Latch解读 Oracle-等待事件解读Latch概述Latch造成的等待事件 和 Lock造成的阻塞 ,是两个不同的概念,在性能优化上如果能区分开这两个因素引起的性能问题,将极大的提高我们性能分析的判断能力。那什么是latch呢? 首先我们试想一个场景: 一个数据块正在被在被一个会话从磁盘读入内存中,请注意,是正在读取中,此时另外一个会话正好也需要这个数据块,那改怎么办呢?为了保持

2016-12-18 10:40:13 7043

原创 Oracle优化09-绑定变量

思维导图系列博文Oracle-绑定变量binding variable解读Oracle-Soft Parse/Hard Parse/Soft Soft Parse解读概述绑定变量是OLTP系统中一个非常值得关注的技术点。良好的变量绑定会使OLTP系统数据库中的SQL执行的飞快,内存效率极高。 不绑定变量有可能会使OLTP数据库不堪负重,资源被SQL解析严重消耗,系统显得缓慢。本博文的案例基于Orac

2016-12-17 00:03:29 6216

原创 Oracle优化11-10046事件

思维导图Oracle优化10-SQL_TRACE解读Oracle优化11-10046事件10046事件概述上一篇博文中我们说到了SQL_TRACE,10046同样也可以对SQL的执行计划进行分析,并且更加的强大。10046事件并不是ORACLE官方提供给用户的使用命令,在官网中我们也找不到相关的信息,但是目前已经使用的非常广泛。100046事件按照手机的内容分为4个等级Level 1 等同于SQL

2016-12-16 01:08:45 6220

原创 Oracle优化12-10053事件

思维导图10053事件概述我们在查看一条SQL语句的执行计划时,只看到了CBO最终告诉我们的执行计划结果,但是我们并不知道CBO为何要这样做。特别是当执行计划明显失真时,我们特别想搞清楚为什么CBO会做出这样的一个选择,那么就可以用10053事件来分析SQL分析过程的trace文件。同10046事件一样,10053事件依然无法在官网上找到相关的信息。10053事件为我们真正的揭开蒙在CBO身上的面纱

2016-12-15 00:12:44 6530

原创 Oracle优化10-SQL_TRACE

思维导图概述当我们想了解一条SQL或者是PL/SQL包的运行情况时,特别是当他们的性能非常差时,比如有的时候看起来就好好像卡在什么地方一样,该如何入手呢?是不是恨不得钻进去看下到底发生了什么? 好在Oracle提供了我们这样的一种方法使用SQL_TRACE来跟踪SQL的执行情况,通过SQLTRACE我们可以很容易的知道当前正在执行的SQL正在干什么。以下操作基于Oracle Database 11g

2016-12-14 20:25:35 6779

原创 Shell脚本攻略05-数组和关联数组

概述之前梳理的博文 Shell 数组 http://blog.csdn.net/yangshangwei/article/details/52372608数组是shell脚本非常重要的组成部分,它借助索引将多个独立的数据存储为一个集合。普通数组只能使用整数作为数组索引。 Bash也支持关联数组,它可以使用字符串作为数组索引。在很多情况下,采用字符串式索引更容易理解,这时候关联数组就派上用场了。

2016-12-08 01:03:08 5433

原创 Oracle优化02-锁和阻塞

思维导图概述之前梳理了一篇博文Oracle-锁解读首先弄清楚两个概念:并发 concurrency: 超过两个以上的用户对相同的数据做修改并行 parallel:将一件事情分成很多小的部分,让每一部分同时执行,最后将执行结果汇总。事实上,没有并发就没有锁。 锁的产生是因为并发,并发的产生是因为系统需要,系统需要是因为用户需要…….由唯一性约束引起的阻塞场景模拟Oracle Database 11g

2016-12-06 00:14:27 5783

原创 Oracle-HWM(High Water Mark) 高水位解读

读前须知:Oracle的逻辑存储管理 ORACLE在逻辑存储上分4个粒度 ,由大到小为: 表空间, 段, 区 和 块. 块Block 块:是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. 每一个Block里可以包含多个row. 数据块的大小是通过kb字节个数来指定的,默认为8KB。相

2016-12-04 22:38:40 6075

原创 Shell脚本攻略04-玩转文件描述符及重定向

概述文件描述符是与文件输入、输出相关联的整数。它们用来跟踪已打开的文件。最常见的文件描述符是stdin、 stdout和stderr。我们甚至可以将某个文件描述符的内容重定向到另一个文件描述符中。下面给出一些对文件描述符进行操作和重定向的例子。理论知识在编写脚本的时候会频繁使用标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。通过内容过滤将输出重定向到文件是我们平日里的基本

2016-12-04 18:03:42 6163

原创 Shell脚本攻略03-使用shell进行数学运算

概述无论哪种编程语言都少不了算术操作,在这则攻略中,我们将会研究在shell中进行算术运算的各种方法。

2016-12-03 23:31:05 5565

原创 Oracle优化01-引起数据库性能问题的因素

思维导图概述一个数据库是否存在性能问题,基本上在系统设计的时候就决定了,这个系统设计包括软件的设计、数据库的设计和硬件的设计.其中更细节的分类参考目录。在一个系统的设计阶段,其中任何一个环节存在设计不当之处,都可能导致系统的性能下降,而系统的性能在多数情况下又反映为数据库的性能问题。软件设计对数据库的影响软件架构设计对数据库性能的影响软件系统的架构对数据库的影响是非常直接的。 比如一套并发量非常大的

2016-12-03 09:52:55 7403

原创 Shell脚本攻略02-玩转变量与环境变量

变量是任何一种编程语言都必不可少的组成部分,用于存放各类数据。脚本语言通常不需要在使用变量之前声明其类型。只需要直接赋值就可以了。在Bash中,每一个变量的值都是字符串。无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。有一些特殊的变量会被shell环境和操作系统环境用来存储一些特别的值,这类变量就被称为环境变量。

2016-12-03 00:29:17 7068

原创 Oracle-表分析和索引分析解读

概述当表没有做分析的时候,Oracle 会使用动态采样来收集统计信息。 获取准确的段对象(表,表分区,索引等)的分析数据,是CBO存在的基石,CBO的机制就是收集尽可能多的对象信息和系统信息,通过对这些信息进行计算,分析,评估,最终得出一个成本最低的执行计划。所以对于CBO,数据段的分析就非常重要。分析SQLanalyze table tablename compute statistics等同于

2016-12-01 23:16:53 37644 1

原创 Shell脚本攻略01-简介/终端打印

概述 终端打印  玩转变量与环境变量  使用函数填加环境变量  通过shell进行数学运算  玩转文件描述符与重定向  数组和关联数组  使用别名  获取终端信息  获取、设置日期及延时  调试脚本  函数和参数  将命令序列的输出读入变量  以不按回车键的方式获取字符”n”  运行命令直至执行成功  字段分隔符和迭代器  比较与测试简介

2016-12-01 02:31:53 5767

原创 Oracle-Listener log解读

Listener log 概述在ORACLE数据库中,如果不对监听日志文件(listener.log)进行截断,那么监听日志文件(listener.log)会变得越来越大.Listener log locationFor oracle 9i/10g在下面的目录下: $ORACLE_HOME/network/log/listener_$ORACLE_SID.logFor oracle 11g/12c

2016-12-01 01:28:22 14346

中标龙芯-MIPS- NFS rpm包

gssproxy-0.7.0-4.ns7_4.mips64 keyutils-1.5.8-3. libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config-1.3 libnfsidmap-0.25- libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind-0.2.0-42. tcp_wrappers-7.6

2020-11-24

X86-NFS rpm包

gssproxy-0.7.0-21.el7.x86_64.rpm keyutils- libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config libnfsidmap libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind tcp_wrappers

2020-11-24

apache-tomcat-8.5.50-src.zip

Tomcat启动流程分析 组件的生命周期管理 用Lifecycle管理启动、停止、关闭 Lifecycle接口预览 几个核心方法 Server中的init方法示例 为啥StandardServer没有init方法 LifecycleBase中的init与initInternal方法 为什么这么设计? 分析Tomcat请求过程 链接器(Connector)与容器(Container) 解耦 Connector设计 监听服务端口,读取来自客户端的请求 将请求数据按照指定协议进行解析 根据请求地址匹配正确的容器进行处理 将响应返回客户端 Container设计 Servlet容器的实现。

2020-06-02

elasticsearch-analysis-ik-6.4.1.zip

修改ik分词器源码,支持从mysql中每隔一定时间,自动加载新的词库

2019-08-20

Nginx1.14.2 + zlib + pcre + openssl

1. nginx 主软件 和 3个依赖包 zlib + pcre + openssl

2019-03-12

mybatisSource.zip

MyBatis源码功能演示环境 ,演示MyBatis的Executor 、StatementHandler 、 SQL映射、对象转换 等核心功能

2020-06-14

Spring4CachingAnnotationsExample

Spring4CachingAnnotationsExample的示例,通过Java注解的方式整合EhCache框架

2017-10-04

「Tomcat源码剖析」.pdf

Tomcat源码剖析 : 整体架构 层层分析 源码解析 架构分析 (Http服务器功能:Socket通信(TCP/IP)、解析Http报文 Servlet容器功能:有很多Servlet(自带系统级Servlet+自定义Servlet),Servlet处理具体的业务逻辑)

2020-06-01

MQ对比:Kafka VS Rocketmq VS Rabbitmq.pdf

MQ对比:Kafka VS Rocketmq VS Rabbitmq 超详细 ,值的收藏,参考资料

2019-11-04

Jest-5.3.4.zip

Jest是Elasticsearch 的Java Http Rest 客户端。 ElasticSearch已经具备应用于Elasticsearch内部的java API,但是Jest弥补了ES自有API缺少Elasticsearch Http Rest接口客户端的不足。 Jest 配置ES 集群 示例代码 及源码解读 - 核心原理 - NodeChecker源码解读 -

2020-01-19

Java反编译工具

jd-gui.exe使用C++开发,主要具有以下功能: 一、支持众多Java编译器的反编译; 二、支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;

2015-06-04

ORACLE_AWR报告详细分析

ORACLE_AWR报告详细分析

2016-09-28

小小工匠的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除