易截截图软件、单文件、免安装、纯绿色、仅160KB

如何检查SQL Server CPU瓶颈

--检测CPU压力的一个方法是计算运行状态下的工作进程数量,
--通过执行如下的DMV查询可以得到这个信息
SELECT COUNT(*) AS workers_waiting_for_cpu,t2.scheduler_id
from sys.dm_os_workers AS t1, sys.dm_os_schedulers AS t2
WHERE t1.state='RUNNABLE' AND 
t1.scheduler_address = t2.scheduler_address AND
 t2.scheduler_id<255
GROUP BY t2.scheduler_id
--也可以执行如下的查询得到工作进程在可运行状态下花费的时间
SELECT SUM(signal_wait_time_ms) from sys.dm_os_wait_stats
--下面是一个DMV查询,它可以用来找出每次执行中占用CPU最多的钱10为查询,
--也列出了SQL语句的查询计划及计划被执行的次数。如果一个查询大家虽高,
--但执行次数少,那也可以采纳。
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost, plan_handle,execution_count,
    (SELECT SUBSTRING(text,statement_start_offset/2+1,
        (CASE WHEN statement_end_offset=-1
        THEN LEN(CONVERT(NVARCHAR(max),text))*2
        ELSE statement_end_offset
        END -statement_start_offset)/2)
    from sys.dm_exec_sql_text(sql_handle)
    ) AS query_text
from sys.dm_exec_query_stats
ORDER BY [avg_cpu_cost] DESC
--以上DMV只显示当前被缓存的查询合计统计信息
--为了找出工作负荷中运行最频繁的查询,就需要执行下面的DMV查询。
SELECT TOP 10 total_worker_time ,plan_handle,execution_count,
    (SELECT SUBSTRING(text,statement_start_offset/2+1,
        (CASE WHEN statement_end_offset=-1
        THEN LEN(CONVERT(NVARCHAR(max),text))*2
        ELSE statement_end_offset
        END -statement_start_offset)/2)
    from sys.dm_exec_sql_text(sql_handle)
    ) AS query_text
from sys.dm_exec_query_stats ORDER BY execution_count
--SQL Server在优化查询计划上花费的时间可以用下面的DM


相关文档:

SQL_Plus操作命令 附录B SQL*PLUS

SQL_Plus操作命令  附录B SQL*PLUS
SQL*PLUS 是Oracle提供的一个工具程序,它不仅可以用于测试,运行SQL语句和PL/SQL块,而且还可以用于管理Oracle数据库
 1.启动sql*plus
 为了使用sql*plus,必须首先要启动sql*plus。Oracle不仅提供了命令行和图形界面的sql*plus,而且还可以在web浏览器中运行.
  ......

PL/SQL学习笔记


1.SQL并行查询
alter session enable parallel dml execute immediate 'alter session enable parallel dml'; --修改会话并行DML      select /*+parallel(a,4)*/ * from table_name a       select /*+parallel(a,8)*/ * from table_name a    ......

ORACLE SQL常用优化方法

1       查询sql优化
1.1    选择最有效率的表名顺序(只在基于规则的优化器中有效ORACLE)
解析器按照从右到左的顺序处理from子句中的表名,因此from子句中写在最后的表(基础表driving table)将被最先处理。在from子句中包含多个表的情况下,你必须选择记录条数最少的表 ......

Sql Server convert日期转换函数应用

Sql Server 中一个非常强大的日期格式化函数
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GE ......

SQL SERVER中ROLLUP 运算符的用法

问题的提出: 
现有表A,内容如下:
编码   仓库    数量
01      A       6
01      B       7
02      A     & ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号