简单的存储过程如下
1,
CREATE PROCEDURE Test1 @PU varchar(3)
AS
DELETE FROM [192.168.1.1].[DB1].[DBO].[Tabel1] WHERE PU =@PU
GO2,
CREATE PROCEDURE Test2
AS
DELETE FROM [192.168.1.1].[DB1].[DBO].[Tabel1] WHERE PU='PU5'
GO3,
DELETE FROM [192.168.1.1].[DB1].[DBO].[Tabel1] WHERE PU='PU5'在查询分析器里输入
Exec Test1 'PU5' --此语句十分慢
Exec Test2 --正常完成
DELETE FROM [192.168.1.1].[DB1].[DBO].[Tabel1] WHERE PU='PU5'--正常完成Note:第一句语句与后面两句的执行计划有很大差别!Why?
1,
CREATE PROCEDURE Test1 @PU varchar(3)
AS
DELETE FROM [192.168.1.1].[DB1].[DBO].[Tabel1] WHERE PU =@PU
GO2,
CREATE PROCEDURE Test2
AS
DELETE FROM [192.168.1.1].[DB1].[DBO].[Tabel1] WHERE PU='PU5'
GO3,
DELETE FROM [192.168.1.1].[DB1].[DBO].[Tabel1] WHERE PU='PU5'在查询分析器里输入
Exec Test1 'PU5' --此语句十分慢
Exec Test2 --正常完成
DELETE FROM [192.168.1.1].[DB1].[DBO].[Tabel1] WHERE PU='PU5'--正常完成Note:第一句语句与后面两句的执行计划有很大差别!Why?
SET @PU = 'PU5'
DELETE FROM [192.168.1.1].[DB1].[DBO].[Tabel1] WHERE PU=@PU