最近和优化团队的专家学到一个很有意义的内置包:dbms_profiler,专门用于分析Oracle存储过程中的各段代码的时间开销情况,从而快速找到性能瓶颈的步骤. 1.sys创建dbms_profiler 2.创建profiler用户,对应表和序列,赋权 3.sys为表和序列创建public同义词 4.使用dbms_profiler收集执行时间信息 5.查询并分析结果 1.sys创建dbms_profiler conn /as sysdba desc dbms_profiler --先确认dbm…
1. CREATE DEFINER=`root`@`localhost` PROCEDURE `P_HoverTreePages`( ), ) , ), ), ), IN `SortType` INT, IN `RecorderCount` INT, IN `PageSize` INT, IN `PageIndex` INT, OUT `TotalCount` INT, OUT `TotalPageCount` INT ) LANGUAGE SQL NOT DETERMINISTIC CONTA…
讨论了如何使用sys.dm_exec_query_stats动态管理视图(dmv ).本文将以SQL Server 2005为例,讨论如何利用dmv信息来判断tsql的性能优劣.在这篇文章中将继续我有关性能监视问题的讨论,并说明如何使用sys.dm_exec_cached_plans dmv来监视存储过程性能. 了解dmv统计 在我开始讨论如何收集存储过程性能的统计数据之前,我们先来回顾一些有关dmv统计的基本知识,如果你已经看过我前面关于dmvs的文章,你应该已经明白SQL Server如何收…
SQL2005解密已经被加密的存储过程 第一步:打开DAC连接功能 第二步:在MASTER数据库创建一个解密存储过程 USE master GO CREATE PROCEDURE [dbo].[sp__windbi$decrypt] ( @procedure SYSNAME = NULL , ) AS /**//* 王成辉翻译整理,转贴请注明出自微软BI开拓者www.windbi.com 调用形式为: exec dbo.sp__windbi$decrypt @procedure,0 如果第二个参…
一.无参存储过程 第一步:创建一个不带参数的存储过程,代码如下: CREATE PROCEDURE [dbo].[QueryRoleNoParms] AS BEGIN SELECT * FROM T_Role; END 第二步:执行存储过程,返回结果,代码如下: private List<Role> ExecuteStoredProcedureNoParms() { using (IDbConnection con = OpenConnection()) { List<Role>…
  1. 统计信息查看 1.1 单个表的全局统计信息.统计效果查看 2. 统计信息分析(收集) 2.1 分析工具选择 2.2 分析前做index重建 2.3 分析某数据表,可以在PL/SQL的command window下执行的 2.4 分析SCHEMA,在SQLPLUS中进行的 2.5 dbms_stats.gather_schema_stats详解 2.6 初始化参数statistics_level与oracle默认统计信息收集JOB的关系 3. 改良.辅助oracle默认统计信息收集JOB…
现在Linq to sql的资料还不是很多,本人水平有限,如果有错或者误导请指出,谢谢. 一步一步学Linq to sql(一):预备知识 一步一步学Linq to sql(二):DataContext与实体 一步一步学Linq to sql(三):增删改 一步一步学Linq to sql(四):查询句法 一步一步学Linq to sql(五):存储过程 一步一步学Linq to sql(六):探究特性 一步一步学Linq to sql(七):并发与事务 一步一步学Linq to sql(八):…
由于unittest框架中结果收集在不同文件中,所以此处重写结果收集方法,加入执行时间,失败信息,失败截图等 TestRunner.py # coding=utf-8 import sys import time import datetime import unittest from PIL import ImageGrab import random import ConfigParser import re import Logger log = Logger.Loger() TestRe…
前一天晚上做大表删除操作测试,分段删除,没删除100000条commit一次,由于存储过程打印了执行时间中途断网,无法看到执行时间于是直接kill了任务结果早上登录测试数据库发现空间爆满然后一时糊涂去弄了表的shrink跟dbms_stats.gather_table_stats想着收缩表释放空间弄到一半突然想起,表的收缩最多是释放表空间的空闲空间,并非系统空间后来想想,大量删除反复操作过程引发了undo的扩展,后来检查表空间后确实如此最后在线更换undo tablespace后删除原table…
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元.  -----------------------------------------------------------------------------------…
常见性能优化要求      在我经历的性能优化案例中,常见的问题都是这样开始的:      a) 前台访问很慢,请帮忙分析优化      b) 用户对性能很不满意,再不解决就要投诉      c) 数据库负载很重,请帮忙分析一下      d) XXX功能打开需要1分钟,请帮忙分析一下.而等我访问这个功能的时候,可能几秒钟就返回:等你满怀困惑的找到问题提出人员,如果足够幸运的话,可能他告诉你要选择什么查询条件,问题能够重现:当然另一个可能是他也是转述用户的话.      在接到这些性能优化要求的…
先罗列出sql server 角色用户的权限 按照从最低级别角色(bulkadmin)到最高级别角色(sysadmin)的顺序进行描述:1.bulkadmin:这个角色可以运行BULK INSERT语句.该语句允许从文本文件中将数据导入到SQL Server2008数据库中,为需要执行大容量插入到数据库的域帐号而设计.2.dbcreator:这个角色可以创建,更改,删除和还原任何数据库.不仅适合助理DBA角色,也可能适合开发人员角色.3.diskadmin:这个角色用于管理磁盘文件,比如镜像数据…
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/140.html 一.概述: Redis在设计之初就被定义为长时间不间断运行的服务进程,因此大多数系统配置参数都可以在不重新启动进程的情况下立即生效.即便是将当前的持久化模式从AOF切换到RDB也无需重启.    在Redis中,提供了一组和服务器管理相关的 ,其中就包含和参数设置有关的CONFIG SET/GET command. 二.相关命令列表: 命令原型 时间复杂度…
Redis是一个基于内存的数据库,其不仅读写速度快,每秒可以执行大约110000的写操作,81000的读取操作,而且其支持存储字符串,哈希结构,链表,集合丰富的数据类型.所以得到很多开发者的青睐.加之其支持主从.持久化等功能,3.0版本开始正式提供分片技术.让其在大型互联网应用中大显身手,本文通过实际操作和理论相配合,对redis进行详细地阐述. 一.redis的安装与使用 下载直接去redis的官网http://redis.io/进行不同操作系统对应的版本.本文中采用的redis的版本为3.2…
我们知道使用RML工具分析跟踪数据(.TRC),其中的"Unique Batches",就是一个关于Batch级别的报表,Batch级别的报表针对的是存储过程或是一个TSQL Batch,存储过程或Batch内部的TSQL语句不会单独列在该报表上.很多存储过程调用或TSQL Batch语句总体是一样的,只是带的参数会有不同,ReadTrace会把这些仅是参数不同的存储过程或语句归为一类.下图是筛选条件CPU>=30ms的跟踪文件,使用RML工具处理后,Top Unique Bat…
前一段时间感觉自己的整个思路很混乱,每一天觉得自己有很多事情很多,但是坐着做着不知道自己做了多少,做项目的时候做着做着时常东想西想.我个人觉得这种想法是不对经的. 于是在google上都出去寻找这方面的答案,找了几天网友都说GTD(时间管理系统)东西,对我们管理时间有很多帮助. 于是我决定花点时间去研究这个东西,开始的时候我觉得很痛苦,慢慢我已经爱上GTD. 下面我来介绍一下GTD是我自己理解建立于David Allen上改造的. 1:什么是GTD? GTD是英文Getting Things D…
原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ 写在前面: 函数重载的重要性不言而明,但是你知道C++中函数重载是如何实现的呢(虽然本文谈的是C++中函数重载的实现,但我想其它语言也是类似的)?这个可以分解为下面两个问题 1.声明/定义重载函数时,是如何解决命名冲突的?(抛开函数重载不谈,using就是一种解决命名冲突的方法,解决命名冲突还有很多其它的方法,这里就不论述了) 2.当我们调用一个重载的函数时,又是如何去解析的?(即怎么知道调用的是哪个…
转:http://www.cnblogs.com/stephen-liu74/archive/2012/02/27/2369480.html 一.概述: Redis在设计之初就被定义为长时间不间断运行的服务进程,因此大多数系统配置参数都可以在不重新启动进程的情况下立即生效.即便是将当前的持久化模式从AOF切换到RDB也无需重启.    在Redis中,提供了一组和服务器管理相关的命令,其中就包含和参数设置有关的CONFIG SET/GET command. 二.相关命令列表: 命令原型 时间复杂…
——每个现象后面都隐藏一个本质,关键在于我们是否去挖掘 写在前面: 函数重载的重要性不言而明,但是你知道C++中函数重载是如何实现的呢(虽然本文谈的是C++中函数重载的实现,但我想其它语言也是类似的)?这个可以分解为下面两个问题 1.声明/定义重载函数时,是如何解决命名冲突的?(抛开函数重载不谈,using就是一种解决命名冲突的方法,解决命名冲突还有很多其它的方法,这里就不论述了) 2.当我们调用一个重载的函数时,又是如何去解析的?(即怎么知道调用的是哪个函数呢) 这两个问题是任何支持函数重载的…
1.项目环境 项目是典型的轻量级JavaEE项目,使用SSH框架构建,数据源使用DBCP管理,和Spring进行了整合. 项目数据库使用Oracle数据库. 项目DBCP配置内容如下 ###### DBCP连接池参数配置 ###### ###### #jdbc连接池初始连接数,设置后更好发挥连接池左右 jdbc.initialSize=10 #jdbc最大活动连接数,即连接池上限,要小于数据库连接上限,项目组根据系统最大用户上限数和访问量来调整 jdbc.maxActive=20 #jdbc最大…
在这里贴一个pig源码的分析,做pig很长时间没做笔记,不包含任何细节,以后有机会再说吧 http://blackproof.iteye.com/blog/1769219 hadoop pig入门总结 pig简介 pig数据类型 pig latin语法 pig udf自定义 pig derived衍生 推荐书籍 programming pig 推荐网站 http://pig.apache.org/docs/r0.10.0/basic.html pig简介 pig是hadoop上层的衍生架构,与h…
筛选数据 需求:如果数据库中存在OrderNum相同,且IsDefault不同的记录,那么IsDefault值为0的记录将替换值为1的记录(IsDefault值为1的记录不展示). 由于查出来的数据不多,100条以内,所以我是直接全部查询到List内存中,然后再内存中进行数据过滤的操作,思来想去都觉得我如下的实现方式很low,但是我一时又没想到好的办法,不知道大家有没有好的办法? var newList = list.ToList(); //筛选出哪些排序号有重复 ).Select(s => s…
原文:Lua Performance Tips 偶然找到<Lua Performance Tips>这篇关于Lua的优化文章,个人认为相较于多数泛泛而谈要好不少.尽管Lua已经到5.2版本了,但里面的技术依然能用到,通过翻译自己也能更深入的去了解文中提到技巧.第一次翻译,错误不当之处自然不会少,欢迎指正,谢谢-- 以下为正文 在Lua中,像其他任何编程语言,我们应该总是遵从一下两条优化程序的格言: 规则1:不要优化. 规则2:仍然不要优化(专家除外) 当用Lua编程时,这些规则尤其重要.Lua…
筛选数据 需求:如果数据库中存在OrderNum相同,且IsDefault不同的记录,那么IsDefault值为0的记录将替换值为1的记录(IsDefault值为1的记录不展示). 由于查出来的数据不多,100条以内,所以我是直接全部查询到List内存中,然后在内存中进行数据过滤的操作,思来想去都觉得我如下的实现方式很low,但是我一时又没想到好的办法,不知道大家有没有好的办法? var newList = list.ToList(); //筛选出哪些排序号有重复 ).Select(s => s…
ORM:对象关系映射器,它直接将数据库映射到C#对象. 有很多ORM框架可用,Dapper是其中之一,被称为ORM之王. 下面是Dapper主要的一些功能: 速度快,性能好; 更少的代码行 对象映射 静态对象绑定 动态对象绑定 易于处理Sql语句 易于处理存储过程 直接操作IDBConnection类,该类直接向数据库提供平滑性和运行查询,而不是像在EF和ADO.NET中那样使用各种对象传递数据. 多个查询支持 支持存储过程 批量处理数据插入 允许基于多个输入获取多个数据 为什么选择Dapper…
今天机房突然断电,DB连不上了,提示 无法打开数据库'MyDB'.恢复操作已将该数据库标记为 SUSPECT. 原因是断电导致DB文件损坏 通过SQL Server Management Studio链接到故障数据库的服务器 执行下面的操作 -- 执行前先把下面数据库的名字MyDB更改为“可疑”的数据库名字 -- 1.修改数据库为紧急模式 ALTER DATABASE MyDB SET EMERGENCY -- 2.使数据库变为单用户模式 ALTER DATABASE MyDB SET SING…
本文出处:http://www.cnblogs.com/wy123/p/7851294.html 在做数据库的异常诊断的时候,之前在SQL Server上的时候,最主要的参考信息之一就是去看当前的活动Session有哪些,这些活动Session分别在执行什么语句,用的什么执行方式(计划),运行了多久,等待资源是什么然后利用类似这些信息对问题的诊断提供依据. 在mysql中,虽然换了数据库平台,虽然有些东西不一样,个人认为无非也就是类似这些指标查看活动Session最常用的命令之一就是show p…
本文出处:http://www.cnblogs.com/wy123/p/7106861.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 最近在SQL Server中多次遇到开发人员提交过来的有性能问题的SQL,其表面的原因是表之间去的驱动顺序造成的性能问题,具体表现在(已排除其他因素影响的情况下),存储过程偶发性的执行时间超出预期,甚至在调试的时候,直接在存储过程的SQL语句中植入某些具体的参数,在性能上仍…
一 简介:今天我们来收集下提取元数据的sql 二 前沿: information_schema  引擎 memory 元数据收集表 三 sql语句: 1#没有使用索引的表统计 SELECT t.TABLE_SCHEMA,t.TABLE_NAME,t.TABLE_ROWS FROM information_schema.tables AS t LEFT JOIN (SELECT DISTINCT table_schema, table_name FROM information_schema.`K…
1. 问题描述 FineReport,组织树报表中由id与父id来实现组织树报表,若层级数较多时,对每个单元格设置过滤条件和形态会比较繁琐,因此FineReport提供了一种特殊的数据集——树数据集,只需要简单的设置就能自动递归出层级,方便的实现如下图组织树报表: 图一   图二 2. FineReport构建树 2.1 新建报表,添加数据集 新建工作薄,添加数据集ds1取出原始数据,SQL语句为SELECT * FROM 公司部门. 2.2 定义树数据集 1)根据父字段构建树 使用情形:原始表…