提高entity framework 性能,要注意哪些事情
1个回答
展开全部
提高entity framework 性能的注意事项如下:
分页的时候,尽量在数据库里面去分页.
尽量禁用延迟加载,尽量使用预加载和显式加载查询.
如果启用延迟加载,这样会造成多次往返数据库查询的.势必造成性能低下.
注意事务的简短性.
在使用事务时,要尽量把查询语句或者其他响事务外的语句移在事务外执行.不然让一个事务的时间太长了,就容易引起资源死锁的问题.
查询出来的实体,如果不考虑删除和修改,请用NoTracking
批量删除和修改,不要用先把实体查询出来,然后再逐个删除和修改.这样会产生大量的语句,效率肯定会低.
使用已编译的查询,虽然到EF5.0, LINQ 查询是自动缓存的.但使用编译查询会比自动缓存的效率高.
对于复杂的查询,要随时监控生成的查询语句.
毕竟EF生成的语句,往往比生成的语句更加复杂,这个时候就要考虑是否通过其他方式来提高性能.
数据查询性能表:
分页的时候,尽量在数据库里面去分页.
尽量禁用延迟加载,尽量使用预加载和显式加载查询.
如果启用延迟加载,这样会造成多次往返数据库查询的.势必造成性能低下.
注意事务的简短性.
在使用事务时,要尽量把查询语句或者其他响事务外的语句移在事务外执行.不然让一个事务的时间太长了,就容易引起资源死锁的问题.
查询出来的实体,如果不考虑删除和修改,请用NoTracking
批量删除和修改,不要用先把实体查询出来,然后再逐个删除和修改.这样会产生大量的语句,效率肯定会低.
使用已编译的查询,虽然到EF5.0, LINQ 查询是自动缓存的.但使用编译查询会比自动缓存的效率高.
对于复杂的查询,要随时监控生成的查询语句.
毕竟EF生成的语句,往往比生成的语句更加复杂,这个时候就要考虑是否通过其他方式来提高性能.
数据查询性能表:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询