mysql bytessent_如何对DSQLSERVER、MySQL、Orache语句性能分析

SQLSERVER语句性能分析

SQL SERVER通过设置STATISTICS查看执行SQL时的系统情况。

SET STATISTICS PROFILE ON:显示分析、编译和执行查询所需的时间(以毫秒为单位)。

SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。

SET STATISTICS TIME ON:显示每个查询执行后的结果集,代表查询执行的配置文件。

使用方法:打开SQL SERVER 查询分析器,输入以下语句:

SET STATISTICS PROFILE ON

SET STATISTICS IO ON

SET STATISTICS TIME ON

GO /*--你的SQL脚本开始*/

SELECT [TestCase] FROM [TestCaseSelect]

GO /*--你的SQL脚本结束*/

SET STATISTICS PROFILE OFF

SET STATISTICS IO OFF

SET STATISTICS TIME OFF

MySQL语句性能分析

SHOW PROFILES /*查看SQL耗时情况,用于分析SQL性能*/

SHOW PROFILE[type[,type]...]  /*查看SQL语句资源消耗情况,type见下面type说明*/

[FOR QUERY n]  /*查询指定语句ID为n的情况,ID为SHOW PROFILES查询出语句的Query_ID*/

[LIMIT row_count[OFFSET offset]]

上面type可以是:

²ALL          所有信息

²BLOCK IO     模块I/O操作次数

²CONTEXT SWITCHES 上下文切换数

²CPU          用户CPU使用情况

²IPC          发送和接收消息的数量

²MEMORY       内存使用情况

²PAGE FAULT   页面错误量

²SOURCE       源码中的函数名称与位置

²SWAPS        SWAP次数

Oracle语句性能分析

Autotrace  /*SQLPLUS的AutoTrace是分析SQL的执行计划,执行效率的工具*/

用法: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]

SET AUTOT[RACE] ON   /*开启AutoTrace,显示AUTOTRACE信息和SQL执行结果*/

|SET AUTOT[RACE] TRACEONLY  /*开启AutoTrace,仅显示AUTOTRACE信息*/

|SET AUTOT[RACE] ON EXPLAIN  /*开启AutoTrace,仅显示AUTOTRACE的EXPLAIN信息*/

|SET AUTOT[RACE] ON STATISTICS /*开启AutoTrace,仅显示AUTOTRACE的STATISTICS信息*/

/*执行的SQL语句*/

SET AUTOT[RACE] OFF  /*停止AutoTrace*/

结果列说明:

recursive calls  /*递归调用-执行SQL的时候的产生的递归调用的数量,这个参数和访问数据字典的次数有很大的关系。一般来说,这个参数值不会很大。*/

db block gets /*DB块取-在发生INSERT,DELETE,UPDATE,SELECT FOR UPDATE的时候,数据库缓冲区中的数据库块的个数。在SELECT语句中一般为0。*/

consistent gets /*一致性读-除了SELECT FOR UPDATE的时候,从数据库缓冲区中读取的数据块的个数*/

physical reads /*物理读*/

redo size /*重做日志大小-执行SQL的过程中,产生的重做日志的大小*/

bytes sent via SQL*Net to client /*通过sql*net发送给客户端的字节数*/

bytes received via SQL*Net from client /*通过sql*net接受客户端的字节数*/

sql*net roundtrips to/from client /*See how setting the arraysize affects SQL*Net roundtrips to/from client.*/

sorts(memory) /*在内存中发生的排序*/

sorts(disk) /*不能在内存中发生的排序,需要硬盘来协助*/

rows processed /*结果记录数*/

set timing on; /*在SQPPLUS中得到语句总执行的时间,显示时间单位为:毫秒*/

本文由51ste.com网友编辑,未经授权,不得转载使用上述作品盈利;个人转载,需标明作者及出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值