这个SQL性能优化神器,你用过吗?

2023年 8月 12日 66.5k 0

今天要说的这个优化神器就是SQL Server管理工具自带的Profiler,它到底神在哪里呢?

SQL Server Profiler是什么

SQL Server Profiler是一个界面,用于创建和管理跟踪并分析和重播跟踪结果。 这些事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进行分析或用它来重播一系列特定的步骤。同时也可以利用它来对跟着文件进行分析,分析完成后会给出优化建议。

SQL Server Profiler的使用

下面我将一步一步以图片+文字解说的方式告诉大家该如何使用它来进行跟踪和优化。

启动SSMS——>【工具】——>【SQL Server Profiler】,即可启动SQL Server Profiler,如图1:

图1 启动SQL Server Profiler

第二步

启动后会再次要求连接被跟踪的数据库,如图2:

图2 连接到被跟踪数据库

第三步

设置跟踪属性,根据界面提示填入相关信息,如图3:

图3 设置跟踪属性常规页面

第四步

设置【事件选择】内容,根据图4中的提示,勾选相关内容即可:

图4 事件选择设置页面

第五步

在【事件选择】页面继续勾选显示DatabaseName列,方便显示被跟踪数据库,按图5步骤中操作:

图5 勾选DatabaseName选项

第六步

按图6中步骤,先点击【列筛选器...】在弹出的页面中找到【DatabaseName】选项,然后输入指定数据库名称,这里我们输入AdventureWorks。这是小编本地数据库名称。

图6 输入被跟踪数据库名称

第七步

按图7中步骤,选中【TextData】的选项,输入select%,其意思是跟踪以select开头的查询语句,%为通配符。点击【确定】后会弹出一个提示框,点击【确定】即可。

图7 输入被跟踪的TextData

第八步

返回SSMS,选择AdventureWorks数据库,新建一个查询,点击【执行】。如图8:

图8 在被跟踪数据库中输入被跟踪的查询语句

第九步

返回SQL Server Profiler查看跟踪界面,如图9在跟踪页面上可以看到刚才执行的查询语句。

如图9 查看被跟踪的查询语句

第十步

将当前的跟踪文件另存为跟踪文件Test.trc,如图10:

图10 保存跟踪文件

第十一步

点击SQL Server Profiler菜单栏中的【工具】——>【数据库引擎优化顾问】开始对刚才的Test.trc文件进行分析,如图11:

图11 开启引擎优化顾问

第十二步

在弹出的页面中,我们开始设置优化顾问。

  • 在【工作负荷】中找到刚保存的Test.trc文件
  • 在选择要优化的数据库和表中,我们单独找到需要被分析的表Address
  • 如图12:

    图12 设置引擎优化界面

    第十三步

    设置完成后,点击【开始分析】即可,如图13:

    图13 开始分析被跟踪文件

    第十四步

    等分析完成后,在索引建议一栏中的后一列【定义】中会给出优化建议,这里点开,然后点【复制到剪贴板】即可获取优化建议脚本,返回SSMS粘贴后执行即可完成优化。如图14:

    图14 获取优化建议脚本

    第十五步

    这一步是和第十四步功能类似,只是更加智能,由系统自动执行,无需复制粘贴执行脚本。点击数据引擎优化顾问的菜单栏的【操作】——>【应用建议...】,在弹出的对话框如图15,点击确定即可自动执行引擎顾问提供的优化建议。

    图15 自动执行优化建议

    以上就是SQL Server Profiler的基本使用操作,还有很多其他用处,小伙伴们可以慢慢探索。等你用久了,你会发现这是一个神器!

    觉得不错,记得帮忙点个赞,谢谢啦~

    相关文章

    SQL数据库触发器语法详解 (sql数据库触发器语法)

    2023-08-06
    数据库
    语法
    触发器

    快速简单的删除Oracle数据库字段方法 (删除oracl数据库字段)

    2023-08-06
    数据库
    字段
    删除

    如何打开社工数据库bak文件 (社工数据库bak怎么打开)

    2023-08-06
    数据库
    打开
    社工

    实现数据库按拼音排序的方法和技巧 (数据库按拼音排序)

    2023-08-06
    数据库
    排序
    按拼音

    探究Sybase数据库的性能和功能特点 (sybase数据库怎么样)

    2023-08-06
    数据库
    性能
    探究

    SQL Server 如何成功建立自己的数据库? (sql server 建立数据库)

    2023-08-06
    数据库
    自己的
    建立

    如何在Oracle中查看数据库触发器? (oracle查看数据库触发器)

    2023-08-06
    数据库
    查看
    触发器

    数据库表数据量千万级,对性能影响有多大? (数据库表千万级数据量多吗)

    2023-08-06
    数据库
    级数
    有多大

    如何使用Oracle按时间导出表数据库? (oracle按时间导出表数据库)

    2023-08-06
    数据库
    导出
    如何使用

    数据库存储:帖子长期保存,信息永不丢失 (帖子存数据库)

    2023-08-06
    数据库
    丢失
    帖子

    如何使用Go语言进行代码性能优化评估

    2023-08-06
    优化
    如何使用
    评估

    小米六数据库:全方位数据保障和优化方案 (小米六数据库)

    2023-08-05
    数据库
    优化
    小米

    简易教程:使用dbe数据库实现数据连接 (dbe数据库 数据连接)

    2023-08-05
    数据
    数据库
    连接

    Oracle实现多个数据库链接的简便方法 (oracle链接多个数据库)

    2023-08-05
    数据库
    多个
    链接

    数据库索引:用哪种方法建立? (数据库索引用什么建的)

    2023-08-05
    索引
    数据库
    哪种

    实现高效缓存同步:Redis数据库技巧大全 (redis 数据库缓存同步)

    2023-08-05
    数据库
    缓存
    同步

    如何利用数据库实现高效的模糊匹配查询? (数据库实现模糊查询)

    2023-08-05
    查询
    数据库
    模糊

    数据库有哪些安装方式和位置? (数据库是装在什么上)

    2023-08-05
    数据库
    位置
    装在

    Lactmed数据库:妈妈们必备的喂养指南 (lactmed 数据库)

    2023-08-05
    数据库
    必备
    喂养

    数据库设计中的主属性定义及作用 (数据库主属性是什么)

    2023-08-05
    数据库
    定义
    属性

    相关文章

    Oracle如何使用授予和撤销权限的语法和示例
    Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
    下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
    社区版oceanbase安装
    Oracle 导出CSV工具-sqluldr2
    ETL数据集成丨快速将MySQL数据迁移至Doris数据库

    发布评论