性能
文章平均质量分 89
發糞塗牆
MVP, TOGAF, MCSE, Azure Solution Architect
展开
-
SQL Server On Linux(22)—— SQL Server On Linux性能(8)——性能进阶简介——分区(2)
本人新书上市,请多多关照:《SQL Server On Linux运维实战 2017版从入门到精通》本篇开始专门对性能进行一系列讲解,这一系列不限于Linux平台,更多的是针对SQL Server本身。上一文简单介绍了一下分区的大概情况,本文把分区功能拆散细讲。分区函数说明 首先了解一下分区函数,分区函数是分区过程的第一步(当然调研才是实际第一步),它用于指定整个分区的逻辑层内容,...原创 2020-02-20 17:52:12 · 468 阅读 · 0 评论 -
理解性能的奥秘——应用程序中慢,SSMS中快(3)——不总是参数嗅探的错
本文属于《理解性能的奥秘——应用程序中慢,SSMS中快》系列 接上文:理解性能的奥秘——应用程序中慢,SSMS中快(2)——SQL Server如何编译存储过程 在我们开始深入研究如何处理参数嗅探相关的性能问题之前,由于这个课题过于广泛,所以首先先介绍一些跟参数嗅探没有直接关系的内容,但是又会导致语句在SSMS和应用程序中存在性能差异的情况。替换变量和参数: 前面已经接触过,但是在这里对其进行扩...翻译 2016-11-17 10:49:30 · 4915 阅读 · 1 评论 -
理解性能的奥秘——应用程序中慢,SSMS中快(5)——案例:如何应对参数嗅探
本文属于《理解性能的奥秘——应用程序中慢,SSMS中快》系列 接上文:理解性能的奥秘——应用程序中慢,SSMS中快(4)——收集解决参数嗅探问题的信息翻译 2016-11-28 15:42:31 · 6901 阅读 · 0 评论 -
理解性能的奥秘——应用程序中慢,SSMS中快(4)——收集解决参数嗅探问题的信息
本文属于《理解性能的奥秘——应用程序中慢,SSMS中快》系列 接上文:理解性能的奥秘——应用程序中慢,SSMS中快(3)——不总是参数嗅探的错翻译 2016-11-22 11:50:01 · 5469 阅读 · 1 评论 -
SQL Server性能优化案例分享专题
写了那么久的文章,觉得文章篇数很多,但是缺乏一定的管理,混乱无序的知识归档,对于一个专职DBA来说,有点“不称职”,所以为了自己后续快速查找,也为了方便读者查看,所以整理一个专题。这个专题可能会涉及过百篇文章,在本人工作过程陆续添加。 目前根据个人习惯,我偏向于以“主要现象”来做分类,比如CPU过高,连接失败等。这样在搜索时更加容易,同时从标题来看更加有针对性。但是作者不保证在编写了...原创 2018-03-02 14:29:47 · 1758 阅读 · 1 评论 -
SQL Server性能优化案例分享(1)——CPU持续过高——CPU高使用率的常见原因及处理方向
本系列属于 SQL Server性能优化案例分享 专题 部分内容借用《SQL Server 2012实施与管理实战指南》P592,如果SQL Server错误日志里面并没有17883/17884这类错误,但是SQL Server CPU很高,那一般就是工作负载太高导致的。意味着SQL Server并没有什么大问题,但是很辛苦地在完成用户发过来的请求。 由于CPU较于内存、阻塞、磁盘等资...原创 2018-03-12 17:23:14 · 6504 阅读 · 0 评论 -
理解性能的奥秘——应用程序中慢,SSMS中快(2)——SQL Server如何编译存储过程
本文属于《理解性能的奥秘——应用程序中慢,SSMS中快》系列 接上文:理解性能的奥秘——应用程序中慢,SSMS中快(1)——简介 本文介绍SQL Server如何编译存储过程并使用计划缓存。如果你的应用程序完全没有用到存储过程,而是直接使用SQL语句提交请求,那么本文大部分内容也是有效的。但是关于动态SQL的编译会在后面章节介绍,这里重点关注让人头痛的存储过程问题。什么是存储过程? 虽然这个问题有...翻译 2016-11-15 10:38:44 · 6904 阅读 · 0 评论 -
理解性能的奥秘——应用程序中慢,SSMS中快(1)——简介
在工作中发现有不少类似的现象,有幸看到国外大牛写的一篇文章,由于已经完善得不能再添油加醋,所以决定直接翻译,原文出处:http://www.sommarskog.se/query-plan-mysteries.html#defaultsettings 本人水平有限,如果读者觉得自己英语过得去,建议阅读原文。在翻译过程中,不排除会对某些部分进行修改,但不会影响最终效果。 由于内容较多,所以把文章拆翻译 2016-11-14 23:24:30 · 4526 阅读 · 0 评论 -
T-SQL 中的CROSS JOIN用法(半翻译)
今天来翻译一篇关于T-SQL的文章,本文可供微软认证70-461:QueryingMicrosoft SQL Server 2012的学习和练习之用。本文以翻译为主,引出个人工作中的一些思考,详见最后部分。 我会尽可能抽时间翻译本系列(见原文出处的相关链接,这是一系列的文章)的其他文章,除了回顾一些知识之外,重点是总结一下自己的所得。 -------------------------------原创 2015-09-15 13:09:07 · 7702 阅读 · 0 评论 -
SQL Server 索引维护(1)——如何获取索引使用情况
前言: 在前面一文中,已经提到了三类常见的索引问题,那么问题来了,当系统出现这些问题时,该如何应对? 简单而言,需要分析现有系统的行为,然后针对性地对索引进行处理:对于索引不足的情况:检查缺少索引的情况,也需要检查现有索引定义是否有问题。对于索引过多的情况:分析每一个索引的使用情况,判断是否有存在的必要或者可合并、可修改的可能。对于索引不合理的情况:也要分析每个索引的定义,及其使用情况,确定索引是原创 2015-11-09 12:57:32 · 11648 阅读 · 5 评论 -
SQL Server 索引维护(1)——系统常见的索引问题
前言: 在很多系统中,比如本人目前管理的数据库,索引经常被滥用,甚至使用DTA(数据库引擎优化顾问)来成批创建索引(DTA目前个人认为它的真正用处应该是在发现缺失的统计信息,在以前的项目中,用过一次DTA,里面提示了很多列缺少统计信息,后来在不改动其他操作的前提下,把这些统计信息手动建上去,性能提升非常明显。关于统计信息将另开文章介绍)。一个表甚至有20多个索引(索引的数量并没有标准,但是要尽量原创 2015-11-09 10:54:12 · 8230 阅读 · 1 评论 -
SQL Server性能优化——等待——SLEEP_BPROOL_FLUSH
前言: 有一个用于历史归档的数据库(简称历史库),经过一定时间的积累,数据文件已经达到700多GB,后来决定某些数据可以不需要保留,就把这部分数据truncate了,空余出600多GB的空间,也就是说,经过收缩后,理论上数据库只有100多G。为此,我经过重建各个表(表数量不多,但单表数量还是有几千万)的聚集索引后,准备进行收缩。 但是当收缩开始时,即使把每次收缩的范围缩小到500MB,速度也极其慢原创 2016-01-04 14:07:28 · 6179 阅读 · 2 评论 -
SQL Server 执行计划操作符详解(3)——计算标量(Compute Scalar)
接上文:SQL Server 执行计划操作符详解(2)——串联(Concatenation )原创 2016-01-06 17:27:42 · 7044 阅读 · 2 评论 -
SQL Server 执行计划操作符详解(1)——断言(Assert)
前言: 很多很多地方对于语句的优化,一般比较靠谱的回复即使——把执行计划发出来看看。当然那些只看语句就说如何如何改代码,我一直都是拒绝的,因为这种算是纯蒙。根据本人经验,大量的性能问题单纯从语句来看很难发现瓶颈,同一个语句,由于环境的不同,差距非常大,所以比较合适的还是分析执行计划。 那么对于执行计划,一般使用图形化执行计划就差不多了,但是用过的人也有一些疑惑,里面的图标(称为操作符)并不非常原创 2015-12-11 14:38:43 · 12180 阅读 · 4 评论 -
全废话SQL Server统计信息(2)——统计信息基础
我想在大地上画满窗子,让所有习惯黑暗的眼睛习惯光明——顾城《我是一个任性的孩子》 这一节主要介绍一些理论层面的东西,主要针对SQL Server,为后面的做铺垫,如果从实操层面考虑可以跳过,但是我强烈建议还是要找时间看一下这节。本节的内容如下:SQL Server统计信息列级统计信息统计信息与执行计划统计信息与内存分配开销预估模型SQL Server统计信息 说到统计信息,就一定要提到查询优化器,原创 2016-11-01 23:18:49 · 11566 阅读 · 8 评论 -
全废话SQL Server统计信息(1)——统计信息简介
为什么要写这个内容? 随着工作经历的积累,越来越感觉到,大量的关系型数据库的性能问题,其根源在于统计信息。这里说的是根源,其实很多时候大家觉得的那些什么索引失效等都只是表象。当然,不能一概而论,还有很多问题如配置问题、设计问题等等,甚至电源也会影响性能。 之所以得出这个结论,因为在常规的开发和部署过程中,一般企业级系统已经大量使用较为高级的磁盘阵列甚至企业级SSD,IO方面的问题已经很少,而且关系原创 2016-11-01 23:17:19 · 6891 阅读 · 0 评论 -
理解性能的奥秘——应用程序中慢,SSMS中快(6)——SQL Server如何编译动态SQL
本文属于《理解性能的奥秘——应用程序中慢,SSMS中快》系列接上文:理解性能的奥秘——应用程序中慢,SSMS中快(5)——案例:如何应对参数嗅探翻译 2016-11-30 16:41:36 · 6508 阅读 · 1 评论 -
第四章——SQLServer2008-2012资源及性能监控(2) .
本文接着上文继续,讲述如何监控CPU的使用情况前言:CPU是服务器中最重要的资源。在数据库服务器中,CPU的使用情况应该时刻监控以便SQLServer一直处于最佳状态。本文将会使用可靠性和性能监视器来获取CPU相关的使用统计信息可靠性和性能监视器是过去性能监视器工具的加强版。同时拥有性能监视器的全部功能。性能计数器提供对各种系统活动的统计功能。可以找到有数百种性能计数器翻译 2013-03-01 16:59:58 · 9937 阅读 · 0 评论