测试如图,Core_Users的PhoneNumber可为空,存在索引,记录数1500000+
增加is not null,查询计划消耗增加了一个0%的筛选器消耗,IO消耗如下一模一样
如果是IS NOT NULL引起的,我觉得这个bug不能算在ef core上,应该算在sql server采用的执行计划上
(1 行受影响) 表 'Core_Users'。扫描计数 1,逻辑读取 7 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 (1 行受影响) SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。 (1 行受影响) 表 'Core_Users'。扫描计数 1,逻辑读取 7 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。