数据库 MSSQL2012
sql语句:select * from LogLogin
存储过程代码:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter PROCEDURE P_TB_Log
AS
declare @sql nvarchar(4000)
BEGIN
SET NOCOUNT ON;
set @sql = 'select * from LogLogin'
exec(@sql)
END
GO
该表的数据量100万+
直接执行sql语句用时7秒
执行存储过程跑了2分钟还没出来结果
请教理论上存储过程应该要比直接执行sql语句要快 为什么实际上却慢呢
sql语句:select * from LogLogin
存储过程代码:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter PROCEDURE P_TB_Log
AS
declare @sql nvarchar(4000)
BEGIN
SET NOCOUNT ON;
set @sql = 'select * from LogLogin'
exec(@sql)
END
GO
该表的数据量100万+
直接执行sql语句用时7秒
执行存储过程跑了2分钟还没出来结果
请教理论上存储过程应该要比直接执行sql语句要快 为什么实际上却慢呢
好吧 我重启mssql服务 然后重新执行查询结果还是一样
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。(1000193 行受影响) SQL Server 执行时间:
CPU 时间 = 514 毫秒,占用时间 = 7642 毫秒。
这个是直接执行sql语句的
存储过程的还再跑
存储过程跑挂了
你不用动态在存储过程中跑性能怎么样?
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter PROCEDURE P_TB_Log
AS
BEGIN
SET NOCOUNT ON;
select * from LogLogin
END
GO
照样跑挂掉
恩 打个补丁试一下吧,感觉2012还是有很多BUG的。
恩 打个补丁试一下吧,感觉2012还是有很多BUG的。
补丁打过了 还是一样
s.session_id, r.blocking_session_id,
s.host_name, s.login_name,
databasename=db_name(r.database_id),r.command, r.status as sqlexecstatus,
current_execute_sql = substring(t.text,
r.statement_start_offset / 2 + 1,
case
when statement_end_offset = -1 then len(t.text)
else (r.statement_end_offset - statement_start_offset) / 2+1
end),
s.program_name,
s.status,
s.cpu_time, memory_usage_kb = s.memory_usage * 8, s.reads, s.writes,
s.transaction_isolation_level,
c.connect_time, c.last_read, c.last_write,
c.net_transport, c.client_net_address, c.client_tcp_port, c.local_tcp_port,
r.start_time,
r.wait_time, r.wait_type, r.last_wait_type, r.wait_resource,
r.open_transaction_count, r.transaction_id
from sys.dm_exec_sessions s
left join sys.dm_exec_connections c
on s.session_id = c.session_id
left join sys.dm_exec_requests r
on s.session_id = r.session_id
and c.connection_id = r.connection_id
outer apply sys.dm_exec_sql_text(r.sql_handle) t
where 1=1
and s.is_user_process = 1 and command is not null
2 然后打开几个开关比较下
set statistics io on;
set statistics time on;
set statistics profile on;