我一直在破坏我的大脑,我有一个查询创建了一个计划,其中基于从nvarchar
到int
的类型转换导致基数估算错误。
所以我想我会把所有的逻辑都拿出来试试吧
Select Top 100 *
From table1
Inner Join table2 On table1.id = table2.foreignid
没有条件,没有指定列,没有。转换后的列没有以任何方式引用但仍然获得计划警告和从table1读取100万行的计划来执行此查询。
什么可能导致SQL Server决定对完全未引用的列进行隐式转换?