Al *_*azi 14 linq sql-server stored-procedures
我已经听过很多关于预编译存储过程的优点的讨论.但是LINQ和选择,插入,更新,删除的存储过程之间的实际性能差异是什么?有没有人进行任何测试,看看是否有任何重大差异.如果更多的交易有所作为,我也很好奇.
我的猜测是LINQ语句在第一个事务之后被缓存,并且性能可能几乎相同.思考?
E.J*_*nan 19
LINQ应该在性能上接近但我不同意上面的声明,即LINQ更快,它不能更快,它可能同样快,但所有其他条件相同.
我认为不同之处在于,一个知道如何优化和使用存储过程的优秀SQL开发人员总是会在性能方面略有优势.如果你对SQL不够强,那么让Linq为你解决这个问题,你的表现很可能是可以接受的.如果您是一名强大的SQL开发人员,请使用存储过程在应用程序需要时挤出一些额外的性能.
如果你编写一个可怕的SQL来编写一些执行速度比Linq慢的存储过程,那肯定是可能的,但是如果你知道你在做什么,那么存储过程和一个Datareader是无法击败的.
小智 6
与 LINQ 查询相比,存储过程更快,它们可以充分利用 SQL 功能。当下次执行存储过程时,数据库使用缓存的执行计划来执行该存储过程。而 LINQ 查询每次都会被编译。因此,与存储过程相比,LINQ 查询的执行时间更长。
与 LINQ 相比,存储过程是编写复杂查询的最佳方式。