Linq与sql查询相比总是有性能开销。在数据库上触发时的Linq查询首先转换为sql语句,然后执行执行。您可以在以下示例中轻松分析此内容。
考虑您要从数据库中删除一些记录,并且您正在使用linq查询。 查询将是
var del = from record in stud
where record.college=="ABC"
select record;
stud.deleteAllonSublit(del);
一旦查询执行开始,首先触发select查询,然后根据表中记录的数量,触发大量删除查询。假设有10条记录包含大学名称为'ABC',则会触发10个删除查询;
相反,如果我们使用sql查询,那么我们可以直接编写以下查询
delete from stud where college="ABC";
所有10条记录都将在单个SQL查询中删除。