SQL Server Profiler 工具的使用

news2024/11/15 7:25:12

在很多时候,我们需要优化接口的执行效率,一方面是提高代码在内存中的执行效率,另一方面就是提高数据库操作相关的效率了。

.NET中在System.Diagnostics类库下提供了Stopwatch类用来分析代码的执行耗时。那么如果是牵扯到数据库相关的操作,我们可以利用SSMS自带的分析工具,来查看进来的每一条sql语句的执行时间,以此来定位问题。

首先打开SSMS,选择工具>SQL Server Profiler。打开SQL Server Profiler的登录页面。用连接数据库的登录名和密码进行登录即可。

打开之后需要设置一下跟踪属性,其中常规里,可以设置把跟踪记录导出到文件或者表,如果为了方便仔细分析,可以选择保存到文件,之后停止跟踪的时候,就会生产一个.trc文件,之后在SQL Server Profiler在打开这个文件,就可以慢慢分析了。
在这里插入图片描述
在事件选择里,可以选择跟踪哪些事件,以及列名。
在这里插入图片描述

但是这里有一个问题,这个跟踪的是整个服务里面的所有数据库,如果数据库比较多,或者连接比较活跃的话,那跟踪记录就会不断的刷新,就不容易找到关键信息。

所以我们现勾选显示所有列。然后点开列筛选器。在这里输入DatabseID或者DatabaseName都可以定位到某一个数据库,获取DatabseID的SQL语句

--查看当前数据库的id 
SELECT DB_ID()

然后就可以开始观察了。重点需要关注的一个是说TextData,这里是我们执行过的所有SQL语句,另一个是Duration,这个表示执行sql的耗时。如果有耗时特别夸张的就可以分析sql语句是不是可以优化,通过添加索引等方式来减少SQL语句的执行时间。
在这里插入图片描述

我下面把其他列名的含义也都列一下。

字段含义
TextData包含执行的SQL语句或存储过程的文本。这是分析查询性能时最关键的列之一。
StartTime 和 EndTime分别表示事件开始和结束的时间戳。这两个时间戳对于分析查询执行时间和识别并发问题非常有用。
Duration表示事件(如SQL语句执行)持续的时间,通常以微秒为单位。这个值对于识别性能瓶颈至关重要
CPU表示事件(如SQL语句执行)消耗的CPU时间,通常以毫秒为单位。它反映了查询在CPU上的执行效率
Reads 和 Writes分别表示事件执行期间从磁盘读取和写入的数据量(以逻辑读取和写入次数为单位)。这两个值对于评估查询对I/O的影响很重要。
SPID表示执行该事件的服务器进程ID。它可以帮助识别哪个客户端会话或进程产生了特定的数据库活动
LoginName执行事件的登录名。这有助于识别是哪个用户或应用程序导致了特定的数据库活动
ApplicationName发起数据库活动的应用程序的名称。这有助于将数据库活动与特定的应用程序或工具关联起来
DatabaseName事件发生时所在的数据库名称。这有助于了解哪个数据库受到了影响
ObjectName 和 ObjectType分别表示事件涉及的对象名称和对象类型(如表、视图、存储过程等)。这对于识别哪些数据库对象被查询或修改非常有用。
EventClass表示事件的类别,如SQL:BatchStarting、SQL:BatchCompleted、Login等。这个列帮助用户识别追踪文件中各种事件的类型。
EventSubClass提供了EventClass的进一步细分,以提供更具体的事件信息。
Status表示事件的状态,如成功、失败等。这有助于识别执行过程中是否出现了问题
Error如果事件执行失败,则此列将包含错误代码和消息。这对于诊断问题非常有帮助

study hard and make progress every day.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2092337.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端速通面经八股系列(一)—— CSS篇

CSS高频面经目录 一、CSS基础1. CSS选择器及其优先级2. CSS中可继承与不可继承属性有哪些3. display的属性值及其作用4. display的block、inline和inline-block的区别5. 隐藏元素的方法有哪些6. link和import的区别7. transition和animation的区别8. display:none与visibility:…

Beyond Compare 4试用过期规避办法

声明: 支持正版软件 一: 注册表处理 在搜索栏中输入 regedit ,打开注册表 删除项目:计算机\HKEY_CURRENT_USER\Software\ScooterSoftware\Beyond Compare 4\CacheId 二: 脚本处理 创建bat文件, 写入下面的命令行. reg delete “HKEY_CURRENT_USER\…

华为od全面介绍!!!

三分钟带你全面了解华为OD 【合同及管理】签约方为科锐国际/外企德科(人力服务公司),劳动合同期为4年,试用期6个月。员工关系合同管理、五险一金、考勤发薪由科锐国际/外企德科负责;定级定薪、员工培训、工作安排、绩…

Redis的配置和启动+Redis Insight连接

一、安装 Redis的安装:从镜像站下载:索引 redis-local (huaweicloud.com),然后将其传到Linux虚拟机中进行解压,解压之后需要下载gcc,因为Redis底层是用c写的,所以要编译一下生成redis文件,然后…

人工智能领域正经历模型规模变革,小型语言模型(SLM)崛起,挑战“规模至上”观念。

在人工智能领域,一场关于模型规模的深刻变革正在悄然发生。长久以来,科技巨头们热衷于庞大语言模型(LLM)的开发竞赛,但如今,小型语言模型(SLM)正以其独特的优势逐步崭露头角&#xf…

麦弗逊悬架KC特性分析APP开发与应用

汽车悬架系统是汽车重要的组成部分之一,起到支撑车身、减震降噪、提高行驶稳定性等多种作用。其中,悬架系统的K&C特性是一个重要指标,直接影响到汽车的操纵稳定性和乘坐舒适性,是悬架系统设计和优化的关键目标之一。 图1 汽车…

font-face 字体设置

摘要: font-face是css3中允许使用自定义字体的一个模块。 font-face的是一个CSS规则,允许你输入自己的字体出现在网站上,即使在特定的字体在访问者的计算机上没有安装。这条规则最重要的是,它为设计师打开了一个全新的世界。您可以使用任何你…

不平衡分类的成本敏感学习

不平衡分类的成本敏感学习 大多数机器学习算法都假设模型所犯的所有错误分类错误都是相同的。 对于不平衡分类问题,情况通常并非如此,因为遗漏正类或少数类案例比错误地将示例归类为负类或多数类更糟糕。有许多现实世界的例子,例如检测垃圾…

高效好用的10个自动化办公库分享

高效可用的10个自动化办公库 10个常用的Python自动化办公库本次内容涵盖了Excel、Word、PPT、ODF、PDF、邮件、微信、文件处理等所有能在办公场景实现自动化的库,希望能够对大家有所帮助。 PythonExcel自动化库 1.xlwings 库官网:https://www.xlwings…

用 Python 解锁电影台词中的秘密:给孩子一个学英语的新奇方式

引言 想象一下:孩子们不仅在看他们喜欢的电影,还能从中学到新的英语单词!有没有什么比这更有趣、更高效的学习方式?在这篇博客中,我将带你一步步搭建一个 Python 工具,从电影台词中提取单词并生成详细的词…

06:网表更新到PCB

1.先了解HDMI设计规范 有4对差分线,1对IIC串行总线信号从芯片---->防静电器件—>HDMI输出 发现错误,没有SDA网络,检查原理图 重新导网表 3.完成信号芯片—>防静电模块—>HDMI布局

PMP–知识卡片--迭代型生命周期

迭代指的是多次循环。例如,软件开发按照版本发布,每一个版本内部都是一个小的瀑布开发,都会经历“需求分析—设计—开发—测试—发布”周期,下一个迭代在此基础上重复这些步骤,对软件进行优化升级,发布新的…

用友U8接口-自定义项和扩展自定义项(6)

概括 本文的操作需要正确部署U8API保存单据时传入自定义项和扩展自定义项 单据自定义项 ERP界面 接口参数 自定义项为标准erp字段,以cDefine开始的字段对应接口传入参数位置 [{"Inum": "OtherIn","Data": {"iHead": {&…

和星辰为伴,与代码共舞

大家好,我是小悟 在探索数字编织的浩瀚宇宙中,独立开发者犹如孤独的星际航行者,驾驶着创意与技术的飞船,穿梭于代码的无垠星海。 他们的日常工作,是一幅由无数个日夜辛勤耕耘编织而成的壮丽画卷,每一笔都…

进程通信——共享内存

文章目录 1.基本认识1.1 概念介绍1.2主要原理 2.使用方法2.1创建共享内存shmget2.1.1 shmget2.1.2 ftok 2.2映射地址空间shmat2.3 访问共享内存2.4 同步和互斥 3.接口封装3.1 创建shm_create3.2 映射shm_connect3.3 多进程共享内存 共享内存是一种机制,也是进程间进…

SpringBoot中@SchedulerLock注解实现定时任务中分布式锁的使用

背景 在SpringBoot项目中经常会去写一些定时任务,但是当我们的服务的实例部署多个的情况下,那么每个实例中的定时任务都会执行一遍,这显然不是我们想要的,我们只想让它执行一次。在没有引入像xxl-job之类的分布式任务调度框架的前…

BIRTV2024圆满落幕,中科极光9万流明点亮观影新体验

8月21日,第三十一届北京国际广播电影电视展览会BIRTV 2024隆重开幕。展示广电先进技术设备和发展成果,引领中国广播影视技术发展潮流,全媒体、超高清、强智能,带着本届BIRTV理念,中科极光携RGB三色激光光源升级解决方案LSS-AM系列…

【大模型】LangChain基础学习

前言:LangChain是一个用于构建端到端语言模型应用的框架 目录 1. 基础知识2. 基本使用2.1 安装2.2 启动示例2.3 使用prompt2.4 输出解析器 3. 相关应用3.1 RAG 参考文献 1. 基础知识 六大组件 模型(Models):包含各大语言模型的LangChain接口…

2024年“羊城杯”粤港澳大湾区网络安全大赛 PWN部分

2024年“羊城杯”粤港澳大湾区网络安全大赛 PWN部分 Author:Ns100kUp From:极安云科-服务中心 Data:2024/08/27 Copyright:本内容版权归属极安云科,未经授权不得以任何形式复制、转载、摘编和使用。培训、环境、资料、考证 公众号…

LabVIEW开发高温摩擦试验机

采用LabVIEW软件开发高温摩擦试验机,特别是在航空轴承摩擦学性能测试中的应用。通过详细介绍系统的设计、组成、工作原理及其实现,展示了该系统在动态监测轴承状态参数中的关键作用,以及其在提高测试效率和准确性方面的优势。 项目背景 轴承…