[MS SQL] - 系统表常用操作

本文介绍了四个关键的SQL查询,包括检查语句执行时间、分析表占用的物理空间、查找所有过程以及查询字段所在的表。通过这些查询,可以有效地进行SQL性能优化和数据库空间管理。同时,还提供了一个查询来确定特定表的内存使用情况。
摘要由CSDN通过智能技术生成

1. 查看语句执行时间 

SELECT top 100 EQS.total_worker_time,EQS.total_worker_time AS TotalWorkerTime
           ,EQS.total_logical_reads + EQS.total_logical_writes AS TotalLogicalIO
           ,EQS.execution_count As ExeCnt
           ,EQS.last_execution_time AS LastUsage
           ,EQS.total_worker_time / EQS.execution_count/1000/1000 as AvgCPUTimeMiS
           ,(EQS.total_logical_reads + EQS.total_logical_writes) / EQS.execution_count   AS AvgLogicalIO
           ,DB.name AS DatabaseName
           ,SUBSTRING(EST.text,1 + EQS.statement_start_offset / 2,(CASE WHEN EQS.statement_end_offset = -1 THEN LEN(convert(nvarchar(max), EST.text)) * 2 ELSE EQS.statement_end_offset END - EQS.statement_start_offset) / 2) AS SqlStatement
FROM sys.dm_exec_query_stats AS EQS
CROSS APPLY sys.dm_exec_sql_text(EQS.sql_handle) AS EST
CROSS APPLY sys.dm_exec_query_plan(EQS.plan_handle) AS EQP
LEFT JOIN sys.databases AS DB ON EST.dbid = DB.database_id
WHERE EQS.last_execution_time > '2019-01-15 08:00:00'
and EQS.total_worker_time / EQS.execution_count/1000/1000 > 60

2.表占物理空间

exec sp_spaceused 'b_item'

3.查所有过程

SELECT * FROM sysobjects o WHERE EXISTS(SELECT 1 FROM sysComments WHERE id= o.id and text LIKE '%物料不在可用季度中%')

4.查字段在哪个表

select table_name from INFORMATION_SCHEMA.columns where column_name='banid'

5.某个表占内存多少

select OBJECT_NAME(object_id) 表名,COUNT(*) 页数,COUNT(*)*8/1024.0 Mb

from sys.dm_os_buffer_descriptors a,sys.allocation_units b,sys.partitions c

where a.allocation_unit_id=b.allocation_unit_id

and b.container_id=c.hobt_id

and database_id=DB_ID()

group by OBJECT_NAME(object_id)

order by 2 desc

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值