1、对象管理机制-复杂
为更好的管理模型对象,EF提供了一套内部管理机制和跟踪对象的状态,保存对象一致性,使用方便,但是性能有所降低。

2、执行机制-高度封装
在EF中,所有的查询表达式都会经过语法分析、解析SQL语句、然后调用底层的ADO.NET对象去执行,中间的这些环节导致性能有所降低。

3、SQL语句-低效
EF采用映射机制将对象操作转换成SQL语句,SQL语句一般的基于标准模块生成的,不会进行特殊优化,和直接编写SQL语句操作数据库相比,效率会打折扣,复杂操作更为明显。

状态管理机制优化

AsNoTracing()方法
1、添加AsNoTracing()方法后,对象将不被状态管理,查询性能提高
2、返回的实体将不再DbContext中缓存
3、适合场景:纯粹查询

禁用自动跟踪变化

分析
1、关闭前,当执行Add()操作时将会耗费大量的性能,会导致DbContext遍历所有缓存的Entry,比较原始值和当前值,而这个操作会非常耗费性能
2、关闭后,使用Add()方法告知DbContext中对象的变化即可,如果是删除使用Remove()方法,如果是修改则还需要通过State属性显示告知变化
3、适合场景:大批量操作数据(添加、删除、修改)

最新文章

  1. Android—Work—1day
  2. HTML。CSS浮动元素详解
  3. 选择哪种方式进行SharePoint的备份
  4. js数据类型判断和数组判断
  5. compass制作sprite雪碧图
  6. 【转】HTML5新增元素兼容旧浏览器方法
  7. 巧解Tomcat中JVM内存溢出问题
  8. Hibernate 一对多自身双向关联关系 用于类别表的实现
  9. servletContext百科
  10. LLVM对注释的新增支持 @ WWDC 2013
  11. Memory Analyzer Blog
  12. ext3文件系统目录限制问题
  13. 【NO.11】Jmeter - 构建1个可供Linux使用的Jmeter测试脚本 - 共3个步骤
  14. 工具SQL
  15. PHP-CPP开发扩展(六)
  16. activiti_change_ok
  17. TIOBE 11月编程语言榜:Go逆袭,Python势头很猛!
  18. InstallShield中打包ArcEnineRuntime
  19. 《DSP using MATLAB》Problem 2.19
  20. angular2自学笔记(二)---路由、服务等八大主要构造块

热门文章

  1. Mui使用jquery并且使用点击跳转新窗口
  2. 使用QTP录制自带Flight小实例
  3. Ubuntu安装配置Charles,抓取http网络请求包
  4. Farseer.net轻量级开源框架 中级篇:事务的使用
  5. canvas一周一练 -- canvas绘制饼图(3)
  6. UIPageViewController 翻页、新手引导--UIScrollView:pagingEnabled
  7. C++标准库 vector排序
  8. vue基础---介绍
  9. 使用SELECT语句检索数据
  10. xmpp消息回执(6)