/*
表中记录Rows:40846773
字段SN:nonclustered, unique, primary key located on PRIMARY
*/set statistics IO on
declare @SN varchar(20)='ABCDEFGH'
select * from TB where SN=@SN
set statistics IO off--扫描计数 0,逻辑读取 7 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
set statistics IO on
declare @SN1 nvarchar(20)='ABCDEFGH'
select * from TB where SN=@SN1
set statistics IO on--扫描计数 1,逻辑读取 6346 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次数据库用的sql2008
为什么@SN varchar类型的和@SN1 nvarchar类型会有这样的差别?谢谢!
表中记录Rows:40846773
字段SN:nonclustered, unique, primary key located on PRIMARY
*/set statistics IO on
declare @SN varchar(20)='ABCDEFGH'
select * from TB where SN=@SN
set statistics IO off--扫描计数 0,逻辑读取 7 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
set statistics IO on
declare @SN1 nvarchar(20)='ABCDEFGH'
select * from TB where SN=@SN1
set statistics IO on--扫描计数 1,逻辑读取 6346 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次数据库用的sql2008
为什么@SN varchar类型的和@SN1 nvarchar类型会有这样的差别?谢谢!
declare @SN varchar(20)='ABCDEFGH'
select * from csdnscore where r=@SN
set statistics IO off
go
set statistics IO on
declare @SN nvarchar(20)='ABCDEFGH'
select * from csdnscore where r=@SN
set statistics IO off
/*
(0 行受影响)
表 'csdnscore'。扫描计数 1,逻辑读取 157 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。(0 行受影响)
表 'csdnscore'。扫描计数 1,逻辑读取 157 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
*/
顺便说下 大叔V5 偶像级别的人物
对对,SN是varchar类型的
declare @SN nvarchar(20)='ABCDEFGH'
exec ('select * from tb where name=''@SN''')
set statistics IO off这样就一样了
几条或者几W条的时候都可以?这个有些不解!