• 自动秒收录
  • 软件:1973
  • 资讯:57946|
  • 收录网站:279743|

IT精英团

如何找到性能最差的SQL Server查询

如何找到性能最差的SQL Server查询

浏览次数:
评论次数:
编辑: 泽洋
信息来源: ITPUB
更新日期: 2022-09-23 01:47:22
摘要

我经常会被反复问到这样的问题:”我有一个性能很差的SQLServer。我如何找出最差性能的查询?“。因此在今天的文章里会给你一些让你很容易找到问题答案的信息向导。问SQLServer!SQLSe

  • 正文开始
  • 相关阅读
  • 推荐作品

我经常一次又一次地被问到这个问题:“我的SQL Server很差。我如何找出性能最差的查询?”。因此,今天的文章将为您提供一些信息指南,让您轻松找到问题的答案。

00-1010 SQL Server的一个优势就是几乎可以自己回答你所有的问题,因为SQL Server在每个DMV和DMF中都存储了大量的故障排除信息。另一方面,这也是一个缺点,因为你必须知道每个DMV/DMF,以及如何解释和联系它们。

至于性能最差的SQL Server查询,最重要的dmv之一是sys.dm_exec_query_stats。对于每个缓存的执行计划,SQL Server都会在运行时存储该执行计划的详细信息。此外,SQL Server会告诉您该查询消耗的CPU时间和I/O读数。这是我在对性能不佳的SQL Server进行故障排除时经常使用的基本dmv之一。

00-1010当您对sys.dm_exec_query_stats进行简单的选择查询时,您将获得一个非常庞大的记录集,其中包含许多不同的列3354,这些列具有许多不同的编号。

让我们仔细看看它们。对于每个缓存的执行计划,SQL Server为您提供了以下指标:

工作时间(列…_工作时间)物理读取(列…_物理读取)逻辑写入(列…_逻辑读取)SQLCLR时间(列…_公共语言运行时)经过时间(列…_运行时间)行数(列…_行数)对于每个指标,您可以获得4个不同的聚合信息列:

总值(最后值)最小值(最小值)最大值(最大值)有了这些信息,就可以找出性能最差的查询是什么。但是首先你需要知道你的性能瓶颈是什么,——CPU还是I/O限制?如果您的性能瓶颈是CPU限制,您可以使用以下查询要求SQL Server根据CPU消耗列出前5个性能最差的查询:

-性能最差的CPU限制查询

选择前5名

圣文本,

qp.query_plan,

qs。*

来自sys.dm_exec_query_stats qs

交叉应用sys . DM _ exec _ SQL _ text(QS . plan _ handle)ST

交叉应用系统. DM _执行_查询_计划(qs.plan_handle) qp

按合计_工人_时间DESC排序

转到这里,您可以看到我使用了一个简单的ORDER BY total_worker_time DESC来返回CPU密集型查询。此外,sys.dm_exec_sql_textsys.dm_exec_query_planDMF被调用来获取SQL语句和执行计划本身。下面的代码显示了如何根据I/O消耗找到性能最差的查询。

1 -性能最差的I/O绑定查询

2选择前5名

第三节课文,

4 qp.query_plan,

5q。*

6来自sys.dm_exec_query_stats qs

7交叉应用sys . DM _ exec _ SQL _ text(QS . plan _ handle)ST

8交叉应用sys . DM _ exec _ query _ plan(QS . plan _ handle)qp

9 ORDER BY total _ logical _ reads desc

1GO当您面前有SQL语句和执行计划时,您可以进一步分析查询,找出导致高CPU或I/O消耗的原因。

问SQL Server!

SQL Server是一个令人惊叹的产品:它可以立即为您的问题提供很好的答案。只要知道在哪里可以找到你的答案。对于性能较差的查询,您应该总是从分析DMVsys.dm_exec_query_stats,开始,SQL Server在那里存储您的执行计划运行时的统计信息。

感谢您的关注!

让我们进入sys.dm_exec_query_stats!

https://www . SQL passion . at/archive/2015/04/20/how-to-find-your-worst-performance-SQL-server-queries/

注:本文为WoodyTu学习MS SQL技术而写,收集整理相关文档,欢迎转载,请在文章页面明显位置给出本文链接!

如果你认为这篇文章不错,请点击右下角的推荐。有了你的支持,作者才能更有写作热情。非常感谢!

本文来自https://www.cnblogs.com/woodytu/p/4721857.html.

标签:你的 性能 最差
(Sql Server)数据的拆分和合并
« 上一篇 2022-09-23
  • (Sql Server)数据的拆分和合并
    0阅读 0条评论 个赞
    背景:今天遇到了数据合并和拆分的问题,尝试了几种写法。但大致可分为两类:一、原始写法。二、SqlServer2005之后支持的写法。第一种写法复杂而且效率低下,不推荐。所以下面具体讲一下第二种……
  • sql server日期时间到字符串
    0阅读 0条评论 个赞
    一、sqlserver日期时间函数SqlServer中的日期与时间函数1.当前系统日期、时间selectgetdate()2.dateadd在向指定日期加上一段时间的基础上,返回新的datetime值……
  • Ubuntu上的SQL Server —— Ubuntu上的SQL Server(完整截图)
    0阅读 0条评论 个赞
    本文从零开始一步一步介绍如何在Ubuntu上搭建SQLServer2017,包括安装系统、安装SQL等相关步骤和方法(仅供测试学习之用,基础篇)。一.创建Ubuntu系统(CreateUbun……
  • SQL Server性能优化系列
    0阅读 0条评论 个赞
    这是关于SQLServer调优系列文章,以下内容基本涵盖我们日常中所写的查询运算的分解以及调优内容项,皆为原创........第一个基础模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运……
  • SQL Server十进制类型(浮点和十进制)
    0阅读 0条评论 个赞
    在SQLServer中,实际上小数数值只有两种数据类型:float和decimal,分别是近似数值和精确数值。其他小数类型,都可以使用float和decimal来替代,例如,双精度(doublep……
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
  • 颤振| |理解什么是状态管理
    0阅读 0条评论 个赞
    目录1.什么是状态管理2.不同的状态管理分类3.Flutter中的有状态组件和无状态组件4.Flutter中有哪些可以做到状态管理5.为什么要使用状态管理6.常见的状态管理框架有哪些7.状态管理总结&……
  • python入门系列(十)学习Python文件处理
    0阅读 0条评论 个赞
    文件处理在Python中处理文件的关键函数是open()函数。有四种不同的方法(模式)来打开一个文件"r"-读取-默认值。打开一个文件进行读取,如果文件不存在则出错。"a"-Append……
  • VUE:引入腾讯地图 实现赛道动画
    0阅读 0条评论 个赞
    效果:引入步骤:在html中通过引入script标签加载API服务在一个盒子元素div中预先准备地图容器,并在CSS样式中定义地图(容器)显示大小创建并显示地图的代码创建动画和标记1.在……
  • 珊瑚海跨终端解决方案及移动端动态布局实践
    0阅读 0条评论 个赞
    目录1.背景和介绍1.1跨端动态化技术的现状和问题1.2珊瑚海介绍1.3与其他框架的对比1.4应用案例2.珊瑚海技术方案2.1整体设计2.2D2X2.3开发工具2.4移动端引擎2.5……
  • 让自己更有价值的5种能力
    0阅读 0条评论 个赞
    如何让自己更值钱?回答这个问题,需要用到黄金圈理论。什么是黄金圈理论?黄金圈理论,是国际知名营销专家、作家SimonSinek在2011年提出的,这是一种由内向外的思维模式。黄金圈理论提倡由Why、……
  • [PostgreSql]生产级数据库安装需要考虑哪些问题?
    0阅读 0条评论 个赞
    大家好,我是字母哥(coder)!我让公司的小伙伴写一个生产级别的PostgreSQL的安装文档,结果他和我说:“不是用一个命令就能安装好么?还用写文档么?”。我知道他想说的是这个命令:yumins……
  • Apache ShardingSphere分布式数据库生态的云原生实践
    0阅读 0条评论 个赞
    直播简介内容简介:随着数据库碎片化趋势愈演愈烈、云时代的到来,无论是传统企业还是互联网都对数据库的能力、需求、性能、运维、质量、监控等产生新的需求和期望。特别在开源力量的推动下,Infra行业的技术生……
  • 简单分析下的GOLDENDB
    0阅读 0条评论 个赞
    GOLDENDB是金融行业使用的比较广泛的一个数据库产品,以前也经常有朋友希望我写几篇分析GoldenDB数据库的文章。说实在的这类文章不好写,必须对某个产品有一定程度的了解,特别是真正上手用过之后,……
  • 卡夫卡开启简单认证和安全层认证【窗口e详细版】
    0阅读 0条评论 个赞
    一、JAAS配置#Zookeeper配置JAASzookeeper环境下新增一个配置文件,如zk_server_jass.conf,内容如下:Server{org.apache.kafka.comm……
  • SpringMVC 01: SpringMVC第一个SpringMVC项目
    0阅读 0条评论 个赞
    SpringMVCSpringMVC概述:是基于MVC开发模式的框架,用来优化控制器是Spring家族的一员,也具备IOC和AOP什么是MVC:它是一种开发模式,是模型视图控制器的简称,所有的web应……
  • spring接口有多个实现类 应该给哪个注入这个依赖?
    0阅读 0条评论 个赞
    一、问题的描述在实际的系统应用开发中我经常会遇到这样的一类需求,相信大家在工作中也会经常遇到:同一个系统在多个省份部署。一个业务在北京是一种实现方式,是基于北京用户的需求。同样的业务在上海是另外一种实……
  • springboot集成docsify实现可移植文档
    0阅读 0条评论 个赞
    需求分析文档可以和项目一起进行版本管理文档可以在线访问文档可以与springboot项目集成,不需要分开部署MarkDown支持文档跟随,打包jar也可以访问技术选型对于网上已有的方案,大致分为如下几……
  • 数字人技术在直播场景中的应用
    0阅读 0条评论 个赞
    作者|薄志浩导读introduction本文介绍了在数字人AI技术发展迅猛,整体AI数字人市场呈现高速增长的趋势下,与强调高实时性互动的直播业务场景的结合与应用,通过数字人渲染技术、强大的AI全栈能……
  • PostgreSQL逻辑副本解密
    0阅读 0条评论 个赞
    PostgreSQL逻辑复制解密在数字化时代的今天,我们都认同数据会创造价值。为了最大化数据的价值,我们不停的建立着数据迁移的管道,从同构到异构,从关系型到非关系型,从云下到云上,从数仓到数据湖,试图……
  • 百度工程师教你玩设计模式(工厂模式)
    5阅读 0条评论 个赞
    作者|北极星小组想要写好代码,设计模式(DesignPattern)是必不可少的基本功,设计模式是对面向对象设计(ObjectOrientedDesign)中反复出现的问题的解决方案,本篇介绍……
  • Python自学教程7:字典类型有什么用
    0阅读 0条评论 个赞
    字典是Python中的一个重要操作,如果字典玩得顺,很多其他的数据类型就可以一通百通。Python字典的定义字典使用一对大括号进行定义,键值对之间使用逗号隔开,键和值使用冒号分隔。键必须是不可变类型,……
  • 国产核心板全志T507助力消防系统升级
    8阅读 0条评论 个赞
    9月16日下午,位于湖南长沙市区内的中国电信大楼发生火灾,建筑高度218米,现场浓烟滚滚,数十层楼体燃烧剧烈。消防救援人员赶到现场后很快将火势控制住,目前大楼火势已被扑灭,所幸未发现人员伤亡。湖南电信……
  • i.MX8MQ自制背板无PCIe问题详解
    9阅读 0条评论 个赞
    在飞凌嵌入式OKMX8MQ-C开发板上有两个PCIe接口,对应着两个PCIe差分时钟,两路PCIe分别用作了M.2接口卡槽KEYE(P37)和KEYM(P34)。很多使用FETMX8MQ-C核心板的用……
  • Javascript的异步循环打印主题
    0阅读 0条评论 个赞
    这道题,我相信很多前端从业者都知道,它本质上来说并不复杂,但是却可以有很深远的扩展,最终核心的主题其实就是异步的执行,其中对于题目的解法,还涉及到一些作用域的知识。那么我们以最简版的题目入手,逐步深入……
  • 码头工人日常工作的常用命令
    0阅读 0条评论 个赞
    容器生命周期管理Docker创建新容器并运行[run]语法:dockerrun[OPTIONS]IMAGE[COMMAND][ARG...]OPTIONS说明:-astdin:指定标准输入……
最近发布资讯
更多