MiniProfiler工具介绍(监控EF生成的SQL语句)--EF,迷你监控器,哈哈哈
2017-09-15 16:08
761 查看
十年河东,十年河西,莫欺少年穷...
今天是抄袭的别人的博客,不过我感觉蛮好,挺有用,特别是老板让你优化EF项目SQL耗时的情况下,你可以采用这种方式来优化你的LINQ。
时间很宝贵,废话还是不多说,直接入主题
MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF、EF CodeFirst等 )。并且以很友好的方式展现在页面上。
MiniProfiler官网:http://miniprofiler.com/
MiniProfiler的一个特别有用的功能是它与数据库框架的集成。除了.NET原生的 DbConnection类,MiniProfiler还内置了对实体框架(Entity Framework)以及LINQ to SQL、RavenDb和MongoDB的支持。任何执行的Step都会包括当时查询的次数和所花费的时间。为了检测常见的错误,如N+1反模式,profiler将检测仅有参数值存在差异的多个查询。
MiniProfiler是以Apache License V2.0协议发布的,你可以在NuGet找到。
过去一直使用Sqlserver Profiler,但是发现实在是太痛苦了,你不得不进行新建、过滤、清除、关闭等操作,而且过滤筛选往往比较难以控制。后来发现MiniProfiler工具非常好用。
同类监控工具有NanoProfiler,下载地址:https://github.com/ef-labs/nanoprofiler/issues/1
Win10
VS2013
准备工作
新建MVC项目WebAppEF,使用Northwind数据库。
1、先安装MiniProfiler
View Code
今天是抄袭的别人的博客,不过我感觉蛮好,挺有用,特别是老板让你优化EF项目SQL耗时的情况下,你可以采用这种方式来优化你的LINQ。
时间很宝贵,废话还是不多说,直接入主题
MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF、EF CodeFirst等 )。并且以很友好的方式展现在页面上。
MiniProfiler官网:http://miniprofiler.com/
MiniProfiler的一个特别有用的功能是它与数据库框架的集成。除了.NET原生的 DbConnection类,MiniProfiler还内置了对实体框架(Entity Framework)以及LINQ to SQL、RavenDb和MongoDB的支持。任何执行的Step都会包括当时查询的次数和所花费的时间。为了检测常见的错误,如N+1反模式,profiler将检测仅有参数值存在差异的多个查询。
MiniProfiler是以Apache License V2.0协议发布的,你可以在NuGet找到。
过去一直使用Sqlserver Profiler,但是发现实在是太痛苦了,你不得不进行新建、过滤、清除、关闭等操作,而且过滤筛选往往比较难以控制。后来发现MiniProfiler工具非常好用。
同类监控工具有NanoProfiler,下载地址:https://github.com/ef-labs/nanoprofiler/issues/1
Demo演示
Demo开发环境Win10
VS2013
准备工作
新建MVC项目WebAppEF,使用Northwind数据库。
1、先安装MiniProfiler
public ActionResult Index() { var profiler = MiniProfiler.Current; using (profiler.Step("查询Student的数据")) { using (BingFaTestEntities context = new BingFaTestEntities()) { var b = context.Student.Where(A => A.StuName.Contains("张")).ToList(); } } using (profiler.Step("查询Student的数据")) { using (BingFaTestEntities context = new BingFaTestEntities()) { var a = context.Student.AsNoTracking().Where(A => A.StuName.Contains("张")).ToList(); } } return View(); }
View Code
8、按F5调试运行
说明:标记为duplicate的部分,代表在一次请求当中,重复执行了查询,可以进行优化。通过Step可以对独立的sql块进行标记。 @陈卧龙的博客
相关文章推荐
- asp.net mvc ef 性能监控调试工具 MiniProfiler
- EF框架 监控小工具 MiniProfiler
- MiniProfiler工具介绍
- 遍历当前目录下的所有子目录例子(自动生成SQl语句工具)
- 采用MiniProfiler监控EF与.NET MVC项目
- 使用 MvcMiniProfiler 监控EF 4.1 with MySQL Provider
- mysql监控工具sqlprofiler,类似sqlserver的profiler工具
- 开发同学的福利--mysql监控工具sqlprofiler,类似sqlserver的profiler工具
- 在线数据库表(sql语句)生成java实体类工具
- 设置 sqlserver Profiler 只监控 EF的sql执行请求
- codeTool代码自动生成工具(参数类sql数据增删改查语句,实体类,接口代码)
- MySQLSniffer第三方SQL语句监控工具的安装使用
- EF生成的SQL语句执行顺序问题。
- 使用p6spy 2监控及打印Spring 4 JdbcTemplate生成的SQL语句
- Jfinal适用于条件查询的动态SQL语句生成工具
- 采用MiniProfiler监控EF与.NET MVC项目
- SQL语句图表生成工具ChartSQL
- 1.采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)
- EF Profiler 查看跟踪Entity Framework SQL 语句
- SQL语句图表生成工具ChartSQL