分析SQL语句的性能
来源:互联网 发布:淘宝花茶 编辑:程序博客网 时间:2024/05/22 02:21
由于要分析SQL Profiler捕获的SQL 语句的性能,需要找出执行频率高,用时长的语句。
SQL Profiler生成的表如下:
CREATE TABLE [dbo].[LijiDownload]([RowNumber] [int] IDENTITY(,) NOT NULL,[EventClass] [int] NULL,[TextData] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,[ApplicationName] [nvarchar](128) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,[NTUserName] [nvarchar](128) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,[LoginName] [nvarchar](128) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,[CPU] [int] NULL,[Reads] [bigint] NULL,[Writes] [bigint] NULL,[Duration] [bigint] NULL,[ClientProcessID] [int] NULL,[SPID] [int] NULL,[StartTime] [datetime] NULL,[BinaryData] [image] NULL,[sumIndex] [int] NULL, ---为了分析加入的PRIMARY KEY CLUSTERED([RowNumber] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
由于Text类型的数据不能比较和做Group等运算。所以引入sumIndex列来识别相同的TextData值。
生成sumIndex列的数据:
update LijiDownload set sumIndex=checkSum(substring(TextData,,500))
500 :可以指定为捕获的SQL 语句的最大长度。
找出使用频率最高的前10条语句:
select top 10 sumIndex,count(sumIndex) as usedMuchinto #tempfrom LijiDownloadgroup by sumIndexorder by usedMuch descselect distinct t.usedMuch,substring(L.TextData,,500as TextDatafrom #temp t inner join LijiDownload Lon t.sumIndex = L.sumIndexorder by t.usedmuch desc
找出总用时最高的前10条语句
select distinct substring(L.TextData,,500as TextData,b.TotalDurationfrom LijiDownload L inner join(select top 10 sum(Duration) as TotalDuration,sumIndex from LijiDownloadwhere eventclass=41 -- 类型为SQL语句group by sumIndexorder by TotalDuration desc) bon L.sumIndex=b.sumIndexorder by b.TotalDuration desc
- 分析SQL语句的性能
- Explain分析sql语句的性能
- 利用EXPLAIN分析sql语句的性能
- MySQL SQL语句性能分析
- mysql sql语句性能分析
- Oracle分析Sql语句性能
- MYSQL sql 语句性能分析
- Mysql中两个有用的sql性能分析语句
- 写出高性能SQL语句的35条方法分析
- 写出高性能SQL语句的35条方法分析
- 写出高性能SQL语句的35条方法分析
- 对sql进行性能分析的两条语句
- 详解利用EXPLAIN分析sql语句的性能
- 分析SQL语句性能3种方法
- SQL 查询语句性能对比分析
- 关于SQL语句的性能
- 性能优良的sql语句
- sql语句的性能优化
- title
- Future of Computer Application
- ASP.NET程序中常用的三十三种代码
- MFC中的HOOK编程
- 制作可执行的JAR文件包及jar命令详解
- 分析SQL语句的性能
- asp.net分页例子
- hibernate 一对一、一对多、多对多的情况
- Suse linux10 oracle c 开发一例
- Asp.net三层结构入门示例源码>>SQLserver/SQLHelper.cs
- Epigrams on Programming
- ERP与审计管理软件交叉融合迎来高峰期
- 英语写作必备的36个经典成语
- Asp.net文件上传操作