zping

SQL SERVER,MySQL,ORACLE数据库分析,设计,研究,优化,重构等

导航

公告

统计

置顶随笔 #

[置顶]浅谈系统优化设计--复杂运算放在逻辑层还是在数据库层?

摘要: 前段时间,我们去回访客户,看了今年上半年优化的一个系统,看看性能怎么样。去了以后,客户反映感觉还可以,不慢,就是说这段时间数据库服务器的CPU有时超过了90%,会持续一段比较长的时间,可能有几十分钟。 下午,就发现这时候数据库服务器的CPU一直在90%以上。通过sql server profile也没查出什么问题。觉得操作很正常,后来通过DMVs发现,执行我以前改写的几个存储过程,执行次数比较多,...阅读全文

posted @ 2008-11-18 21:54 zping 阅读(1983) 评论(9) 编辑

[置顶]SQL 语句优化--中间表的使用优化

摘要: 上周五,公司的同事,从客户那边回来,说一个人员选择页面很慢,页面打开需要15s左右,后来自己也试了一下,也的确需要比较长的时间,客户反应比较强烈。 通过DMV查出缓慢的两个语句如下:语句一:[代码] 语句二:[代码] 查询的两个表的数据量: 表humres: 1920 行 ,191次IO 表orgunitlink:256 行, 11 次IO 最大表才不到2000行数据,查询为何如此慢。看看执...阅读全文

posted @ 2008-11-17 15:24 zping 阅读(2118) 评论(3) 编辑

[置顶]SQL Server 2005 和JBOSS 4 系统运行缓慢--高并发系统探讨(1)

摘要: 今天下午,我们搭建了测试服务器,客户的两个管理人员,正在不停的添加数据,突然说页面打开错误,同时添加数据很慢,这时通过监控数据库服务器发现sql语句发现执行正常,但是客户的页面打不开。这时由于JBOSS服务器和数据库服务器都是放在一个服务器上,这时我看看内存和CPU,发现CPU占用100%,一般都在98%以上。这时很奇怪了,sql语句执行都比较快,为何内存占用98%居高不下,而且服务器还是中午重新...阅读全文

posted @ 2008-09-24 20:47 zping 阅读(3875) 评论(10) 编辑

[置顶]SQL 语句优化--OR 语句优化案例

摘要: 从上海来到温州,看了前几天监控的sql语句和数据变化,发现有一条语句的io次数很大,达到了150万次IO,而两个表的数据也就不到20万,为何有如此多的IO次数,下面是执行语句:[代码] 执行IO统计结果如下:[代码] 执行计划如下: 这里发现:主要是嵌套循环算法占的开销最大。个人感觉是“Or”引起的性能问题,后来根据业务逻辑改写。如下: 语句修改如下: [代码] 查询IO...阅读全文

posted @ 2008-09-23 16:53 zping 阅读(10657) 评论(28) 编辑

[置顶]SQL 语句优化--IN语句优化案例

摘要: 今天客户系统升级,通过DMVs性能分析查了一下,升级后发现一个语句执行时间比较长,执行语句要好几秒钟,调出语句如下:[代码] 后来看了一下,这几表的数据[代码] 发现这三张表都没有超过1千行数据,建立索引意义不大,为何如此慢,看看执行计划: 分析:发现是表dbo.uft3a6h61176948132312访问开销最大,但表中数据不到一千行。执行看看结果:[代码] 这里发现表uft3a6h6117...阅读全文

posted @ 2008-09-15 20:15 zping 阅读(17379) 评论(19) 编辑

[置顶]SQL server 系统优化--通过执行计划优化索引(1)

摘要: 前几天,远离上海,到了温州,在客户的这边处理系统慢,该系统每天正常down机7次左右,在线人员一多,系统运行缓慢,严重影响业务操作,到了无法忍耐的地步,这几天一直在这边处理优化中的问题和升级系统。将这些优化办法和思路记录下来,给大家在以后优化系统中提供思考和建议。 这几天都在通过执行计划来优化索引: 1,首先通过DMVs性能视图来查看那些性能问题是可以通过索引来优化的。先在生产数据库里执行下列查询...阅读全文

posted @ 2008-09-11 15:51 zping 阅读(4459) 评论(12) 编辑

[置顶]Sql Server 2005 实现Oracle 10g的range--list/range等组合分区功能

摘要: Sql Server 2005有分区功能,但Oracle已经有了组合分区功能,sql server 2005如何实现,能实现吗?在Oracle 10g中,有rang-list/hash分区,在SQL server 2005中可以实现Range和list,可以和oracle一样实现复合分区。 在上一次优化中,客户使用的是SQL server 2005的标准版,由于标准版没有提供分区功能,后来使用了分...阅读全文

posted @ 2008-09-08 16:32 zping 阅读(1791) 评论(0) 编辑

[置顶]数据库优化---空间换时间优化

摘要: 在查询优化中,有一个重要的概念:空间换取查询时间这一理论最好的应用就是:数据仓库(OLAP):在海量数据库里(一般是TB级)分析数据,通过对数据的ETL和计算汇总,得到有用的数据,并通过不同维度查看统计数据(一般比较少),实现上钻和下钻分析数据。 现在讨论一下在OLTP系统中空间换取查询时间常用的几个方法: 1,增加冗余表(计算汇总表) 2,增加冗余字段(包括计算字段) 3, 增加索引(包括计算索...阅读全文

posted @ 2008-09-04 17:38 zping 阅读(4126) 评论(9) 编辑

[置顶]SQL Server 死锁处理和优化心得

摘要: 前段时间提到的"SQL Server 2005 死锁解决探索",死锁严重,平均每天会发生一次死锁,在解决和处理SQL server2005死锁中查了很多资料和想了很多办法, 对为何出现死锁和怎样较少死锁有了进一步认识,在这里和大家一起分享: SQL Server 锁类型 在数据库中主要存在两种锁: S(共享锁)和X(排他锁) S(共享锁):在执行查询数据时,SQL server会将行锁定,这时只能...阅读全文

posted @ 2008-08-29 17:37 zping 阅读(1052) 评论(0) 编辑

[置顶]数据库系统优化--业务逻辑设计优化

摘要: 当我们优化一个系统时,有时发现一种情况就是自己修改SQL,索引以及分区是不能解决性能问题的。这时你要考虑业务逻辑优化和表设计的重构。这两点的确和设计结合的很紧密。 业务逻辑优化 结合实际,我们先谈谈业务逻辑优化。 案例一:我们的系统一个文档模块,客户点击时很慢,通过性能分析,是点击是去查询数据库,这时系统是通过Hibernate来两步处理: 1,计算该类型的文档数量总数。 2,显示最新文档的前20...阅读全文

posted @ 2008-08-25 13:36 zping 阅读(2866) 评论(9) 编辑

[置顶]SQL 大数据量的优化例子讨论

摘要: 今天在itput上看了一篇文章,是讨论一个语句的优化: 原贴地址: http://www.itpub.net/viewthread.php?tid=1015964&extra=&page=1 一,发现问题 优化的语句: [代码] 以上就是优化的需要优化的语句和情况。 不少人在后面跟帖:有的说没办法优化,有的说将IN该为EXISTS,有的说在ip上建立索引复合索引(ip,name)等...阅读全文

posted @ 2008-08-13 19:22 zping 阅读(12928) 评论(27) 编辑

[置顶]SQL Server 2005 hash联接算法

摘要: 这是SQL Server 2005里的介绍:如果两个联接输入都很大,而且这两个输入的大小差不多,则预先排序的合并联接提供的性能与哈希联接相近。但是,如果这两个输入的大小相差很大,则哈希联接操作通常快得多。 哈希联接可以有效处理未排序的大型非索引输入。它们对复杂查询的中间结果很有用,因为: ·中间结果未经索引(除非已经显式保存到磁盘上然后创建索引),而且通常不为查询计划中的下一个操作进行适...阅读全文

posted @ 2008-08-11 21:38 zping 阅读(2877) 评论(5) 编辑

[置顶]Sql Server 2005 合并联接算法

摘要: 简介:如果两个联接输入并不小但已在二者联接列上排序(例如,如果它们是通过扫描已排序的索引获得的),则合并联接是最快的联接操作。如果两个联接输入都很大,而且这两个输入的大小差不多,则预先排序的合并联接提供的性能与哈希联接相近。从上次我们分析来看,嵌套循环适合输入和输出都小的情况,那如果输入和输入都比较大情况下,使用合并算法什么情况下最优。最佳使用:合并联接本身的速度很快,但如果需要排序操作,选择合并...阅读全文

posted @ 2008-08-10 17:27 zping 阅读(1664) 评论(0) 编辑

[置顶]Sql Server 2005 嵌套循环算法

摘要: 前段时间看了一篇关于算法的blog,地址如下: http://www.cnblogs.com/perfectdesign/archive/2008/04/24/sql_tuning.html 不少人也给了解决方法,以前也研究过(嵌套,合并,hash)算法,但没有真正的用到优化中,这个例子给了我很大启示。 现在就讨论一下这三个算法的使用。 嵌套循环:算法:for each row R1 in the...阅读全文

posted @ 2008-08-10 17:20 zping 阅读(5968) 评论(6) 编辑

[置顶]SQL优化--使用 EXISTS 代替 IN 和 inner join来选择正确的执行计划

摘要: 在使用Exists时,如果能正确使用,有时会提高查询速度: 1,使用Exists代替inner join 2,使用Exists代替 in 1,使用Exists代替inner join例子: 在一般写sql语句时通常会遇到如下语句: 两个表连接时,取一个表的数据,一般的写法通过关联查询(inner join): [代码]查询结果:[代码] 还有一种写法使用exists来取数据[代码]执行结果: [代...阅读全文

posted @ 2008-08-05 20:52 zping 阅读(25429) 评论(36) 编辑

[置顶]Sql Server 2005 实现Oracle 10g 的hash表分区功能

摘要: 最近学习Oracle中,在其有hash表分区功能,就在想sql server 有类似分区吗,查了一些资料,发现没有介绍,在2005中目前只支持列表和范围分区。 以前只知道Sql Server有hash索引,本文就在Sql Server中实现Oracle里的hash表分区。在oracle 10g的hash分区保持分区数据的均匀,分的区个数是2的倍数分区才可以实现。前段时间做了一个试验,实现了在sql...阅读全文

posted @ 2008-07-27 20:28 zping 阅读(2979) 评论(4) 编辑

2018年4月19日 #

gh-ost:不一样的在线表结构变更

摘要: 简介: 2016年8月份,shlomi-noach在GitHub Engineering发文宣布gh-ost开源。gh-ost是什么?一个不依赖触发器实现的在线表结构变更工具. 对于数据库运维人员来说,MySQL的大表表结构变更一直都是个麻烦事,为了尽量不影响业务,业内常用的解决方案无外乎三种,一是阅读全文

posted @ 2018-04-19 10:48 zping 阅读(2) 评论(0) 编辑

2018年4月18日 #

初试GH-OST(转)

摘要: 最近老板让做一个gh-ost和pt-osc 的对比测试,本文将对两者做对比。 一。原理和所用说明 PT-OSC GH-OST 原理 1.创建一个和要执行 alter 操作的表一样的新的空表结构(是alter之前的结构)2.在新表执行alter table 语句3.在原表中创建触发器3个触发器分别对应阅读全文

posted @ 2018-04-18 17:06 zping 阅读(3) 评论(0) 编辑

MySQL准入规范及容量评估

摘要: 一、数据库设计 1、表结构设计 2、索引设计 3、字符集及校验集 4、其他要求 二、SQL编写 1、select 2、DML 3、多表联合查询 4、事务 5、表扫描方式: 6、排序和分组 7、其他要求 三、MySQL相关特点介绍 1、MySQL对SQL的处理特点 2、MySQL支持的存储大小 3、M阅读全文

posted @ 2018-04-18 13:43 zping 阅读(2) 评论(0) 编辑

2018年4月13日 #

MySQL 5.7 新特性大全和未来展望

摘要: 引用 美图公司数据库高级 DBA,负责美图后端数据存储平台建设和架构设计。前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存储选型设计。之前在「高可用架构」发表的《单表 60 亿记录等大数据场景的 MySQL 优化和运维之道》广受好评。 2015 年最重磅的当属 M阅读全文

posted @ 2018-04-13 10:54 zping 阅读(12) 评论(0) 编辑

2018年3月28日 #

上善若水

摘要: 脾气倔强、越硬的人,记住命一定很悲惨,越是较劲的人命越不好。所以圣人都讲,要学水,上善若水,最上等的善人像水一样的柔软,它能利万物而不染,而不辞。什么叫不辞?我利用万物,但是我跟谁都不推辞,跟谁都让,但是刀劈不坏,火烧不坏,它永远是水。火要烧它能让其上天,变成水蒸气了,它就更厉害了,因为水火是不容的阅读全文

posted @ 2018-03-28 17:53 zping 阅读(6) 评论(0) 编辑

2018年3月23日 #

MSSQL查询收缩和备份进度

摘要: --查询当前数据库备份进度 SELECT DB_NAME(er.[database_id]) [DatabaseName],er.[command] AS [CommandType],er.[percent_complete] ,er.start_time,CONVERT(DECIMAL(5, 2)阅读全文

posted @ 2018-03-23 18:51 zping 阅读(12) 评论(0) 编辑

2018年3月9日 #

利用SQL Profiler处理开销较大的查询

摘要: 当SQL Server的性能变差时,最可能发生的是以下两件事: 首先,某些查询产生了系统资源上很大的压力。这些查询影响整个系统的性能,因为服务器无法足够快速地服务其他SQL查询。 另外,开销较大的查询阻塞了其他请求相同数据库资源的查询,进一步降低了这些查询的性能。优化开销较大的查询不仅改进它们本身的阅读全文

posted @ 2018-03-09 17:52 zping 阅读(74) 评论(0) 编辑

2018年3月8日 #

”三魂七魄”是怎么回事

摘要: 一、关于“三魂” “三魂”被丘处机称为“爽灵、胎光、幽精”,明清之后的丹鼎派称之为“元神、阳神、阴神”等,又称为“天魂、地魂、命魂”,其实就是佛教的“三身”(法身、报身与化身)。 1、天魂,是从天而来的元神,故名“爽灵”,是人今生的“法身、自性、性我”(内丹称为“白雪、先天一气、真阴”)。是不生不灭阅读全文

posted @ 2018-03-08 17:12 zping 阅读(13) 评论(0) 编辑

2018年3月6日 #

SQLSERVER 数据库性能的基本

摘要: 在系统正式上线之前,DBA一般都要测试一下服务器的性能 正文 随着市场份额的SQL Server的发展随着时间的推移,有越来越多的对SQL服务器性能调优的需求。 有不同的团队和个人采用各种各样的方法提高SQLSERVER服务器的性能, 而且我认为这些记录SQLSERVER troubleshooti阅读全文

posted @ 2018-03-06 10:54 zping 阅读(43) 评论(0) 编辑

2018年2月26日 #

xtrabackup_2.4.9安装依赖包

摘要: https://files.cnblogs.com/files/zping/mysql-libs-5.1.73-8.el6_8.x86_64.rar https://files.cnblogs.com/files/zping/xtrabackup_2.4.9.rar阅读全文

posted @ 2018-02-26 17:22 zping 阅读(9) 评论(0) 编辑

Linux Packages Search

摘要: 网站 : https://www.pkgs.org/ https://centos.pkgs.org/阅读全文

posted @ 2018-02-26 17:13 zping 阅读(6) 评论(0) 编辑

2018年2月7日 #

一个僧人对天眼世界看到的真实描述

摘要: 一个开天眼的僧人所见 首先自我介绍一下,本人今年46岁,出家为僧已二十多年。我的家乡在云南某地,但我是在缅甸勐腊某寺庙出的家。我们家乡佛法盛行,几乎村村寨寨家家户户都信佛,如果某人出家为僧,这个人的整个家族都会感到荣耀。据我母亲讲,我刚满月的时候,就受了戒,成为了佛弟子。我是1990年出家的,当时我阅读全文

posted @ 2018-02-07 17:38 zping 阅读(32) 评论(0) 编辑

女儿被杀后投胎转世再续前缘(转)

摘要: 链接地址为:http://www.folou.com/thread-446635-1-1.html 芸芸众生在出生的那一刻就注定了死亡的结局。因而,死亡便成了司空见惯的常事:人们往往对不相干的生命的死熟视无睹;对自己挚爱、亲朋的死虽曾心痛,而后仍旧是麻木,直至忘却;等到自己面对死神狰狞的面孔,虽感措阅读全文

posted @ 2018-02-07 16:13 zping 阅读(15) 评论(0) 编辑

2018年2月5日 #

批量备份和还原数据库

摘要: DECLARE @name NVARCHAR(200) DECLARE @path NVARCHAR(500) DECLARE @sql NVARCHAR(500) DECLARE @bsql VARCHAR(500) DECLARE @NowDay VARCHAR(20) --设置时间 SET @NowD...阅读全文

posted @ 2018-02-05 16:16 zping 阅读(24) 评论(0) 编辑

2018年1月23日 #

linux报错 find: missing argument to `-exec'

摘要: 在linux下使用find命令时,报错:find: missing argument to `-exec' 具体执行命令为: Shell代码 find /u03 -name server.xml -exec grep '9080' {}\; Shell代码 Shell代码 目的是查找/u03目录下名阅读全文

posted @ 2018-01-23 11:43 zping 阅读(51) 评论(0) 编辑