sqlserver小技巧

SELECT FLOOR((19-1)/20)+1  --取整

--为一个张表中增加行号  

SELECT row_number() over(order by EMPNO desc) as num,*  
  into [dbo].[tableTest]
  from [dbo].[inquirt] --客户号码表

--把每20个分组  

UPDATE [TaoInquiry].[dbo].[tableTest]
  SET [列 0] = FLOOR((1-1)/20)+1

  select ow_number() over(order by EMPNO desc) as num,* 
   into [dbo].tableEmp
  from Emp--员工表

   select a.num,b.num,a.empname,b.num,b.[列 1] from tableEmp a
   inner join [tableTest] b on a.num =b.[列 0]

--查看所有阻塞的信息
SELECT  
der.[session_id], 
[request_id], 
percent_complete, 
estimated_completion_time/1000/60, 
con.[client_net_address], 
con.local_net_address, 
[start_time] AS '开始时间', 
[status] AS '状态', 
[command] AS '命令', 
dest.[text] AS 'sql语句', 
DB_NAME([database_id]) AS '数据库名', 
[blocking_session_id] AS '正在阻塞其他会话的会话ID', 
[wait_type] AS '等待资源类型', 
[wait_time] AS '等待时间', 
[wait_resource] AS '等待的资源', 
[reads] AS '物理读次数', 
[writes] AS '写次数', 
[logical_reads] AS '逻辑读次数', 
[row_count] AS '返回结果行数', 
[cpu_time], 
percent_complete 
FROM sys.[dm_exec_requests] AS der 
outer APPLY 
sys.[dm_exec_sql_text](der.[sql_handle]) AS dest 
left join sys.dm_exec_connections con 
on der.session_id=con.session_id 
--WHERE der.[session_id]>50 -- AND 
--DB_NAME(der.[database_id])='' 
ORDER BY [reads] DESC
 

 

你可能感兴趣的:(sqlserver小技巧)