SQL隐式装换消耗过高CPU
错误参数类型numeric
/*100001790*/select uid from voip_userextendcontactinfo with (nolock) where sipid = 111000032683159
正确参数类型nvarchar
/*100001790*/select uid from voip_userextendcontactinfo with (nolock) where sipid = N'111000032683159'
数据库定义为Varchar,Char:
- 如果使用的是DbType 枚举,推荐使用AnsiString。
- 如果使用的是SqlDbType枚举,推荐使用VarChar。
数据库定义为Nvarchar,Nchar:
- 如果使用的是DbType 枚举,推荐使用String。
- 如果使用的是SqlDbType枚举,推荐使用Nvarchar。
.NET与SQL server类型的关系,可以参考如下两篇文档:
http://msdn.microsoft.com/zh-cn/library/system.data.sqldbtype(VS.80).aspx
http://technet.microsoft.com/zh-cn/library/system.data.dbtype(v=vs.85).aspx