当存储过程隐式将varchar(max)转换为数字时,SQL是否会出现性能损失?我知道转换非数字字符串会是一个不好的问题,但我对理想数据的性能更感兴趣。
答案 0 :(得分:1)
我不认为表现应该是你的关注点:准确性是关键。
如果允许隐式转换,则无法保证优化程序选择的数据类型的比例和精度。
如果您明确声明了类型,那么您就可以获得确定性结果。
如果确实希望选择性能,那么我认为显式会更快,因为隐式必须首先扫描行样本才能假设它应该转换为。
更新:假设您对比较中使用的值进行了隐式转换:如果隐式转换数据类型与比较列的类型不匹配,则会导致进一步的性能问题。