关于“简单查询”中“SqlFunc.IsNullOrEmpty(it.Name)” 在MSSQL中性能的问题 返回

C#论坛 老数据
2907

首先表示第一次看SqlSugar ORM ,感觉做的很不错,虽然还没有在项目中实际应用(准备使用)

//查询Name列不为空的结果, SqlFunc提供的功能远不止这一个, 在查询函数里面有详解
var getByFuns = db.Queryable<Student>().Where(it => SqlFunc.IsNullOrEmpty(it.Name)).ToList();
/*
生成SQL:
SQL Server:
SELECT [ID],[Name] FROM [Student]  WHERE ( [Name]='' OR [Name] IS NULL )
 

对于以上代码,MS SQL 中生成条件( [Name]='' OR [Name] IS NULL )时,

在MS SQL 中进行OR 查询时,对于数据检索可能会变成全表检索,导致效率变低。

那么我的疑问是在MS SQL 中使用 ISNULL([Name],'')='' 的效率 是否会比( [Name]='' OR [Name] IS NULL ) 效率高呢?

热忱回答0