随笔分类 -  调优

摘要:七夕活动,网页显示异常:504 Gateway Time-out The server didn't respond in time.开发询问数据库是否正常,当时正连接在实例上查询数据,感觉响应确实慢(敲一个命令,要几秒才显示出来)。只分配一个SQL Server身份验证的登录名1、查看ERRORL 阅读全文
posted @ 2017-08-28 18:08 Uest 阅读(1331) 评论(2) 推荐(2) 编辑
摘要:最近重新翻看The Accidental DBA,将Troubleshooting部分稍作整理,方便以后查阅。此篇是Part 3Part 1:The Accidental DBA:SQL Server BackupPart 2:The Accidental DBA:Troubleshooting P 阅读全文
posted @ 2017-06-20 08:39 Uest 阅读(573) 评论(0) 推荐(2) 编辑
摘要:一大早收到一堆CPU预警邮件,通常每天只在统计作业执行期间会收到2~3封CPU预警邮件。这次的预警来自另一台服务器,并且明细数据显示其CPU一直维持在49%。登录到服务器,查看任务管理器(查看资源监视器更好),CPU时不时上涨到100%,CPU被谁使用了呢?虽然猜测到是被SQLServer,还是打开 阅读全文
posted @ 2017-06-12 12:59 Uest 阅读(1472) 评论(10) 推荐(2) 编辑
摘要:最近重新翻看The Accidental DBA,将Troubleshooting Performance部分稍作整理,方便以后查阅。此篇是Part 2Part 1:The Accidental DBA:SQL Server BackupPart 3:The Accidental DBA:Troub 阅读全文
posted @ 2017-05-06 18:01 Uest 阅读(342) 评论(4) 推荐(1) 编辑
摘要:有一段时间没对Top SQL提出优化建议了,周五开发小伙伴说:"有一个存储过程执行了两个多小时还没完成,我只是把原来具体语句修改为动态拼接语句而已,之前十分钟就好了!"纳尼?!改过语句!我什么都不知情!存储过程业务不算复杂,统计各游戏、各代理商前一天的推广用户量、房卡购买金额、房卡消耗量、活跃用户量 阅读全文
posted @ 2017-03-27 17:47 Uest 阅读(269) 评论(0) 推荐(1) 编辑
摘要:原本只是部署作业获取数据库中阻塞语句,中午测试汇集阻塞数据,发现某一服务器写入386行,而其他服务器只写入几行。登录对应服务器查看详细信息,发现有四个时间点分别写入100来行记录对于第一行:会话183被会话221阻塞,阻塞时长1887ms,会话221持有18:1:4311755上的U锁,会话183等 阅读全文
posted @ 2016-12-08 19:34 Uest 阅读(699) 评论(0) 推荐(1) 编辑
摘要:标题可能和正文不太相符。我主要是记录工作中遇到使用游标的语句改成普通set-based operation,执行时间快了很多。 1、游标语句 declare @startDate dateTime declare @endDate dateTime set @startDate = convert( 阅读全文
posted @ 2016-10-10 23:37 Uest 阅读(355) 评论(2) 推荐(2) 编辑
摘要:通过链接服务器将实例A上的数据写入实例B,通常有以下两种方式--方案1:在实例A上执行insert into LinkForB.B..TableB select * from TableA--方案2:在实例B上执行insert into TableB select * from LinkForA.A 阅读全文
posted @ 2016-09-08 23:54 Uest 阅读(559) 评论(0) 推荐(1) 编辑
摘要:网上看到这篇文章挺不错的,直接翻译过来。在尝试诊断SQL Server性能时,不要仅仅依赖某个单一的诊断数据,比如CPU的使用率、SQL Server磁盘性能,就得出结论却忽略的问题的根源。实际上,使用单一的度量经常会得出一个错误的诊断。在SQL Server中CPU、IO和内存的使用是相互依赖。在 阅读全文
posted @ 2016-08-14 10:53 Uest 阅读(801) 评论(0) 推荐(0) 编辑
摘要:发现某一条语句消耗较高,执行比较频繁数据库版本如下将TextData语句拷贝到查询窗口执行将sp_executesql中的主体语句拷贝到查询窗口执行执行计划的总体流向是一致的,根据token得到LKLoginTokenRecord,然后嵌套循环AccountsInfoSimple。但是sp_exec 阅读全文
posted @ 2016-08-09 21:30 Uest 阅读(1127) 评论(4) 推荐(2) 编辑
摘要:近来遇到一个比较困扰的优化问题,存储过程的主体逻辑如下: ALTER PROC [dbo].[DBA_TroubleShooting] AS BEGIN DECLARE @StartTime DATETIME DECLARE @EndTime DATETIME SELECT @StartTime=C 阅读全文
posted @ 2016-05-16 22:58 Uest 阅读(774) 评论(1) 推荐(1) 编辑
摘要:新到一家公司,需要折腾点认可出来。然后开始苦逼的优化工作~优化效果优化前,作业历史记录(前20)优化前,CPU使用情况有几个作业平均时长2.5~3.5小时,还有很多时长在半小时以上的作业,基本要到11-12点才能完成作业统计。CPU每天7:00-11:00一直维持在比较高的数值。优化后,作业历史记录 阅读全文
posted @ 2016-04-29 21:01 Uest 阅读(466) 评论(0) 推荐(0) 编辑
摘要:收集12小时的Profiler跟踪文件,用RML分析查看消耗前N的语句:上图是某生产环境特定LoginName,消耗前N的情况(按总CPU降序)。蓝色底纹的是几个调用频繁的过程,可以看到过程平均CPU在1000毫秒以上,平均执行时间在1.5秒左右,注意它们的平均逻辑读很低!查看存储过程代码,发现有一 阅读全文
posted @ 2016-02-07 09:24 Uest 阅读(364) 评论(0) 推荐(0) 编辑
摘要:最近在优化数据库服务器上高消耗语句/过程,发现一个存储过程优化后依旧出现在Profiler跟踪里。将Profiler跟踪文件中过程执行语句取出,打开一个查询窗口(SPID=144),set statistics io on,同时开启Profiler跟踪SPID=144中的语句执行情况。下面是在查询窗 阅读全文
posted @ 2016-01-26 21:23 Uest 阅读(854) 评论(0) 推荐(0) 编辑
摘要:13:05 2015/9/11 午睡醒来收到几封CPU使用率预警邮件。登录对应服务器,打开资源监视器,看到sqlservr.exe进程的CPU达到40%(平常服务器CPU消耗在10%以内)。查看CPU信息跟踪表,近一小时的CPU都维持在40%左右。图1 CPU使用率预警邮件图2 资源监视器和CPU信 阅读全文
posted @ 2015-09-11 22:04 Uest 阅读(727) 评论(0) 推荐(0) 编辑
摘要:10:40 2013-08-29 JOIN ON...AND 前面一种情况A.col2=xx是作为与 B的关联条件,满足on条件的返回B值,否则B为NULL(只影响B是否为NULL)后面一种情况A.col2=xx是作为where筛选条件,满足where条件的A才能作为左表(影响A的行数)在left 阅读全文
posted @ 2014-04-06 22:28 Uest 阅读(568) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示