当存储过程隐式地将varchar(Max)转换为数字时,SQL中的性能会受到影响吗?我知道转换一个非数字字符串将是一个不好的问题,但我更好奇的性能与理想的数据。
发布于 2013-08-13 14:10:10
我不认为性能应该是你关心的问题:准确性是关键。
如果允许隐式转换,则无法保证优化器选择的数据类型的规模和精度。
如果显式声明类型,则可以获得确定性结果。
如果您真的想要查看性能,那么我认为显式将更快,因为隐式必须首先扫描一个行示例,以便假定它应该转换到什么类型的。
更新:假设您对比较中使用的值进行了隐式转换:如果隐式转换数据类型与比较列的类型不匹配,则将导致进一步的性能问题。
https://stackoverflow.com/questions/18211126
复制相似问题