mysql事件探查器_SQL事件探查器与索引优化向导
如何创建和使用工作负荷文件?
捕获供索引优化向导使用的事件探查器信息
SQL 事件探查器和索引优化向导的结合使用,形成了一个功能非常强大的工具组合,它可以帮助数据库管理员确保在表和视图上放置正确的索引。SQL 事件探查器可以将查询的资源耗用情况记录到三个位置上。可以将输出定向到 .trc 文件、SQL Server 表或监视器。之后,索引优化向导从 .trc 文件或 SQL Server 表读取捕获的数据。索引优化向导对捕获的工作负荷中的信息和有关表结构的信息进行分析,然后针对改进性能提出应该创建哪些索引的建议。有了索引优化向导,
您就能自动完成以下任务:为数据库创建正确的索引、调度稍后进行的索引创建、生成可以手动检查和执行的 Transact-SQL 脚本。
分析查询负载需要完成以下步骤:
设置 SQL 事件探查器
在工具菜单上选择 SQL 事件探查器,从 SQL Server 企业管理器中启动 SQL 事件探查器。
按 CTRL+N 键新建一个 SQL 事件探查器跟踪。在连接到 SQL Server 对话框中,选择要连接到的服务器。
从下拉列表框中选择 SQLProfilerTuning 模板。
选中另存为文件或另存为表复选框。另存为表选项将打开连接对话框,在该对话框中,您可以将跟踪信息保存到探查查询的服务器以外的其他服务器。如果要将跟踪的活动同时另存为文件和表,请选中这两个复选框。如果要另存为 .trc 文件,请指向有效的目标和文件名。如果以前已运行过跟踪,现在再次运行同一跟踪,请指向现有的跟踪表;如果这是第一次将跟踪活动捕获到表中,您也可以提供新的表名。单击确定。
单击运行。
运行工作负荷若干 (3-4) 次
从 SQL Server 企业管理器或开始菜单启动 SQL 查询分析器。
连接到 SQL Server,然后将当前数据库设为在其中创建测试表的数据库。
在 SQL 查询分析器的查询窗口中输入下列查询:
select ckey1 from testtable where ckey1 = 'a'
select nkey1 from testtable where nkey1 = 5000
select ckey1,col2 from testtable where ckey1 = 'a'
select nkey1,col2 from testtable where nkey1 = 5000
按 CTRL+E 键执行查询。反复执行该步骤三至四次,生成工作负荷样本。
停止 SQL 事件探查器
在“SQL 事件探查器”窗口中,单击红色方块,停止该事件探查器跟踪。
将跟踪文件或表装载到索引优化向导中
在 SQL 事件探查器中,选择工具菜单上的索引优化向导,以启动该向导。单击下一步。
选择要分析的数据库。单击下一步。
选择是否要保留现有索引的选项,或者添加索引视图。
选择一种优化模式(快速、适中或彻底)。在“快速”优化模式下,索引优化向导执行分析所需的时间较少,但分析不够彻底,在“彻底”模式下生成的分析最彻底,但所需的分析时间最长。
要查找用 SQL 事件探查器创建的跟踪文件/表,请选择我的工作负荷文件或 SQL Server 跟踪表。单击下一步。
在选择要优化的表对话框中,选择要分析的表,然后单击下一步。
索引优化向导将分析跟踪的工作负荷和表结构,然后在索引建议对话框中确定应创建的正确索引。单击下一步。
该向导提供了几个选项:立即创建索引、安排索引创建的时间(之后会自动执行的任务),或者创建包含用于创建索引的命令的 Transact-SQL 脚本。选择首选项,然后单击下一步。
单击完成。
索引优化向导针对样本数据库和工作负荷生成的 Transact-SQL
/* Created by: Index Tuning Wizard */
/* Date: 9/6/2000 */
/* Time: 4:44:34 PM */
/* Server Name: JHMILLER-AS2 */
/* Database Name: TraceDB */
/* Workload File Name: C:\Documents and Settings\jhmiller\My Documents\trace.trc */
USE [TraceDB]
go
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
SET NUMERIC_ROUNDABORT OFF
go
DECLARE @bErrors as bit
BEGIN TRANSACTION
SET @bErrors = 0
Create CLUSTERED INDEX [testtable1] ON [dbo].[testtable] ([ckey1] ASC )
IF( @@error <> 0 ) SET @bErrors = 1
Create NONCLUSTERED INDEX [testtable2] ON [dbo].[testtable] ([nkey1] ASC )
IF( @@error <> 0 ) SET @bErrors = 1
IF( @bErrors = 0 )
COMMIT TRANSACTION
ELSE
ROLLBACK TRANSACTION
索引优化向导为样本表和数据建议的索引正是我们所需要的:在 ckey1 上创建聚集索引,在 nkey1 上创建非聚集索引。ckey1 只有五个唯一值,每个值有 4000 行。假定其中一个样本查询 (select ckey1, col2 from testtable where ckey1 = 'a') 需要根据 ckey1 中的某个值来检索表,则适合在 ckey1 列上创建聚集索引。第二个查询 (select nkey1, col2 from testtable where nkey1 = 5000) 根据 nkey1 列的值提取一行。因为 nkey1 是唯一的,并且有 20,000 行,所以适合在该列上创建非聚集索引。
在使用了很多表并且要处理很多查询的实际数据库服务器环境中,将 SQL 事件探查器和索引优化向导组合使用,功能会非常强大。在数据库服务器处理典型的一组查询时,使用 SQL 事件探查器记录 .trc 文件或跟踪表。随后,将跟踪装载到索引优化向导中,以确定要建立的正确索引。按照索引优化向导中的提示执行操作,以自动生成索引,或安排索引创建作业在非高峰时间运行。您可能希望定期运行 SQL 事件探查器和索引优化向导的组合(也许每周一次或每月一次),以查看目前在数据库服务器上执行的查询是否发生了重大变化,这样就有可能会需要不同的索引。定期组合使用 SQL 事件探查器和索引优化向导,有助于数据库管理员在查询工作负荷不断变化和数据库日渐增大的情况下,仍保持 SQL Server 处于最佳运行状态
mysql事件探查器_SQL事件探查器与索引优化向导相关推荐
- MYSQL骚操作之第四十话之索引优化+SQL常用高频语句+删除区别
文章目录 前言 一.索引优化 1.Btree索引 1.1.概述 1.2.存储结构 1.3.MHISAM引擎索引结构 2.HASH索引 2.1.概述及存储结构 2.2.HASH索引的弊端 3.FULLT ...
- Java-GUI编程实战之管理系统 Day2【Swing(组件介绍、布局管理器、事件类及监听器类)、基础组件按钮和输入框的用法】
视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...
- jquery 选择器、筛选器、事件绑定与事件委派
一.jQuery简介 1.可用的jQuery服务器网站:https://www.bootcdn.cn/ jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocume ...
- 仿热血江湖帮战客方血帮战 开始对战记时器结束事件
public void timer_1_Elapsed(object sender, ElapsedEventArgs e) { if (GClass4.int ...
- 仿热血江湖帮战客方血帮战 准备记时器结束事件
public void timer_0_Elapsed(object sender, ElapsedEventArgs e) { if (GClass4.int ...
- 直播播放器API(播放器调用方法、参数、接口和事件)
直播播放器API(播放器调用方法.参数.接口和事件): 播放器调用方法 <div class="player"></div> <script src= ...
- IIS事件查看器_WebServer事件查看器_帮助查看IIS-Web服务器事件执行日志
IIS服务器是我们常用的Web站点部署工具,而我们有时可能遇到IIS服务器的应用程序池莫名其妙的关闭了,或者是其他未知原因等等,我们这是可以通过微软提供的WebServer(Web服务事件查看器),来 ...
- 《Windows内核原理与实现笔记》(二)注册表和配置管理器,事件追踪,安全性管理
注册表和配置管理器 Windows系统很多组件都是可以配置的,内核组建通常支持一些参数,甚至有些完全依赖于系统配置信息.例如I/O管理器和即插即用管理器在初始化阶段根据系统设置来例句和加载设备驱动程序 ...
- python描述器 触发事件_Python面向对象 - 描述器
描述器 什么是描述器?描述器是干什么用的? 现在有一个Person类来表示人.其中有两个属性,体重weight和身高height.我们都知道,人体的身高和体重的数据是变化的,但不管怎么变,都不可能是小 ...
最新文章
- 开始做事了...............
- PHP如何连接MySQL数据库
- eclipse实现Android登录功能,eclipse开发安卓登录
- 【洛谷 P3304】[SDOI2013]直径(树的直径)
- 2009我的lamp之路
- window.location
- Qtcrreator 4 (Qt5.7) on rhel 7 x86_64 添加配置astyle,美化代码配置方法
- 热点:阿里云推国内首个高级政务云平台
- 土制状态机在工作流引擎中的应用
- USB转双串口产品设计-RS485串口
- spark编程基础python版 pdf_《Spark编程基础(Scala版)》.PDF
- 【评分】软件工程实践2017第一次作业-准备
- 我是猫,一只特立独行的猫
- qq空间显示手机型号android,手机QQ空间说说怎么显示手机型号
- 人人皆可操作的108个抖音项目:汽车领域细分及玩法变现 (7)
- pio读取 Excel中 电话号码和身份证的问题
- html中文本框的透明度,jQuery实现textarea文本框半透明文本提示效果
- PCI-E 1X金手指封装
- 程序员怎么应对行业变化?
- 程序员获取编程灵感的10种方式
热门文章
- 计算机名影响网络,影响电脑网速的原因有哪些
- JavaScript 操作DOM对象
- .net4.5对应的安装mysql dll文件的版本_cmd下使用mysql插入中文出现无法退出语句的情况!终极解决办法! 安装mysql详细教程。...
- ETSI/Linux基金会-2022边缘计算黑客松
- 网站添加https后websocket不能使用
- Ural 1277 Cops and Thieves(最小点割集/最小割)
- 常用元器件使用方法13:物理层接口芯片DP83848的使用方法
- java 韩文转中文_java-如何转换为韩文缩写
- linux下u盘如何将分割的合在一起,我又一个8g的U盘,想分两个区,一个区装系统,用PE引导,另一个分割槽用来存放档案,有什么工具,怎么操作,...
- 高级UI - Paint基本使用.高级渲染使用(最后实现放大镜效果)