日期:2014-05-19  浏览次数:20726 次

replace在执行计划中的耗时
--@xue为一个varchar(max)类型的,内含达到5000000个字符的变量。

declare   @BBBshou   varchar(max)

set   @BBBshou=replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(@xue, 'PPP ', '444 '), 'PPB ', '123 '), 'PB ', '12 '), 'B ', '1 '), '4123 ', '4000 '), '412 ', '400 '), '41 ', '40 '), '3444 ', '3123 '), '2444 ', '2123 '), '1444 ', '1123 '), '444 ', '000 ')
----
请问上面这两句sql语句在执行计划中会耗时吗?

------解决方案--------------------
会耗时
DECLARE @DAT DATETIME
SET @DAT=GETDATE()
declare @BBBshou varchar(max)
set @BBBshou=replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(@xue, 'PPP ', '444 '), 'PPB ', '123 '), 'PB ', '12 '), 'B ', '1 '), '4123 ', '4000 '), '412 ', '400 '), '41 ', '40 '), '3444 ', '3123 '), '2444 ', '2123 '), '1444 ', '1123 '), '444 ', '000 ')
SELECT DATEDIFF(ms,@DAT,getdate()) as 耗时