我正在寻找优化。
当我在Entity Framework中调用Count方法时,它是处理所有列还是仅处理一列或其他内容?
如果您也有任何官方网站在谈论这个,我将不胜感激。
谢谢你。
最佳答案
不久前,我做了一些测试,发现EF在服务器上进行计数,它发送带有SELECT COUNT的查询,因此不能确定是否加载所有记录。
关于列,如果您指的是COUNT(*)
或COUNT(Id)
或COUNT(1)
之间的区别,我已经读过一段时间了,那对于SQL Server来说没有区别,无论如何,COUNT(*)
都会被优化为COUNT(1)
。
您可以在线阅读许多文章,也可以在此处查询有关问题的信息……不是您所问的100%,而是关于EF和ORM的性能的类似主题...
How to COUNT rows within EntityFramework without loading contents?
http://ayende.com/blog/4387/what-happens-behind-the-scenes-nhibernate-linq-to-sql-entity-framework-scenario-analysis
How to optimize Entity Framework Queries
关于c# - 当我在Entity Framework中调用Count方法时,它是处理所有列还是仅处理一列或其他内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7590192/