做网站联系电话青岛制作网站的

张小明 2026/1/1 14:26:29
做网站联系电话,青岛制作网站的,西双版纳傣族自治州房价,深圳市光明区官网背景几个月前其实我已经注意到了一篇帖子《从30秒到30毫秒#xff1a;EF Core查询性能优化实战全记录》#xff0c;感兴趣的小伙伴可以自行网上收一下#xff0c;讲的是如何通过优化提高efcore的性能。我们对其进行简化#xff0c;简化部分需求#xff0c;来讲解本次主题EF Core查询性能优化实战全记录》感兴趣的小伙伴可以自行网上收一下讲的是如何通过优化提高efcore的性能。我们对其进行简化简化部分需求来讲解本次主题为什么easy-query这么强,为什么可以这么智能本次使用的是MYSQL 8本地环境 java8和efcore9实体关系如下用户每个用户有多篇帖子和多条评论评论每条评论属于一个用户并关联一篇帖子分类帖子按分类组织帖子每个帖子所属一个类目 并且有多个评论挑战需求查询过去7天在.NET分类下评论最多的5位用户每位用户返回用户ID用户名隐式Group一种更加智能的sql生成完美的融合了表达式的阅读性和性能在复杂子查询嵌套和多子查询下合并有种非常高的性能提升且表达式本身不需要任何变化是一种非常智能的表达式转变。先说结论框架耗时 easy-query普通子查询 efcore子查询 easy-query隐式Groupmysql8 11s 11s 2.7s创建实体点击查看实体代码通过easy-query的code-first生成数据库表并且生成初始化数据其中初始化数据为 9个类目16个用户 发布了15w个帖子并且一个评论100w条记录点击查看初始化代码查询数据库普通子查询LocalDateTime dateTime LocalDateTime.now().plusDays(-7);ListUser list entityQuery.queryable(User.class).where(u - {u.comments().any();}).orderBy(u - {u.comments().where(c - {c.createAt().isAfter(dateTime);c.post().category().name().eq(.NET);}).count().desc();}).limit(5).toList();最终生成的sql为SELECTt.id,t.usernameFROMt_user tWHEREEXISTS (SELECT1 FROM t_comment t1WHEREt1.user_id t.idLIMIT1)ORDER BY(SELECTCOUNT(*)FROMt_comment t2LEFT JOINt_post t3ON t3.id t2.post_idLEFT JOINt_category t4ON t4.id t3.category_idWHEREt2.user_id t.idAND t2.create_at 2025-10-19 22:28:18.469AND t4.name .NET) DESCLIMIT5平均耗时11秒左右efcore点击查看实体代码查询数据库var dateTime DateTime.Now.AddDays(-7);var users context.SetUser().AsNoTracking().Where(u u.Comments.Any()).OrderByDescending(u u.Comments.Count(c c.CreatedAt dateTime c.Post.Category.Name .NET)).Take(5).ToList();生成的sql如下Executed DbCommand (11,016ms) [Parameters[__dateTime_02025-10-19T22:32:06.710891008:00 (DbType DateTime), __p_15], CommandTypeText, CommandTimeout30]SELECT t.id, t.usernameFROM t_user AS tWHERE EXISTS (SELECT 1FROM t_comment AS t0WHERE t.id t0.user_id)ORDER BY (SELECT COUNT(*)FROM t_comment AS t1INNER JOIN t_post AS t2 ON t1.post_id t2.idINNER JOIN t_category AS t3 ON t2.category_id t3.idWHERE (t.id t1.user_id) AND ((t1.create_at __dateTime_0) AND (t3.name .NET))) DESCLIMIT __p_1平均耗时11秒从结果看两者都是性能相当的那么为什么本次的主题是暴打efcore呢接下来我为大家带来easy-query的究极子查询功能将子查询转成groupJoin也就是隐式查询的隐式Group可以说.net应该没有ORM做到了这个功能隐式Group修改easy-query查询添加一行配置是的你没听错就一行配置LocalDateTime dateTime LocalDateTime.now().plusDays(-7);ListUser list entityQuery.queryable(User.class).configure(s-s.getBehavior().add(EasyBehaviorEnum.ALL_SUB_QUERY_GROUP_JOIN)).where(u - {u.comments().any();}).orderBy(u - {u.comments().where(c - {c.createAt().isAfter(dateTime);c.post().category().name().eq(.NET);}).count().desc();}).limit(5).toList();生成的sql如下SELECTt.id,t.usernameFROMt_user tLEFT JOIN(SELECTt1.user_id AS userId, (COUNT(*) 0) AS __any2__, COUNT((CASEWHEN t1.create_at 2025-10-19 22:30:12.833AND t4.name .NETTHEN 1ELSE NULLEND)) AS __count3__ FROM t_comment t1LEFT JOINt_post t3ON t3.id t1.post_idLEFT JOINt_category t4ON t4.id t3.category_idGROUP BYt1.user_id) t2ON t2.userId t.idWHEREIFNULL(t2.__any2__, false) trueORDER BYIFNULL(t2.__count3__, 0) DESCLIMIT5平均耗时2.7秒 是的你妹看错仅仅只需要一行代码即可让子查询性能提升4-5倍这是什么概念这就是easy-query带来的最强子查询 隐式Group鱼和熊掌可以兼得eq真正的做到了将子查询优化到无敌的存在可以说目前市面上没有任何一款orm做到了如此智能的sql性能和可维护性真的可以在easy-query上做到兼得。具体eq的相关文档点击此处插曲我在看《从30秒到30毫秒EF Core查询性能优化实战全记录》这个文章的时候看到image这个表达式我随机在efcore上试了一下结果性能大跌眼镜要足足22秒也不知道原文是怎么测试的var dateTime DateTime.Now.AddDays(-7);var users context.SetUser().AsNoTracking().Where(u u.Comments.Any(c c.CreatedAt dateTime c.Post.Category.Name .NET)).Select(u new{u.Id,u.Username,CommentsCount u.Comments.Count(c c.CreatedAt dateTime c.Post.Category.Name .NET)
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

怎么弄公司网站wordpress 验证码插件

第一章:Open-AutoGLM 穿衣搭配推荐系统架构设计 Open-AutoGLM 是一个基于多模态大模型的智能穿衣搭配推荐系统,融合了图像识别、语义理解与个性化偏好学习。系统通过分析用户上传的服装图片,提取颜色、纹理、款式等视觉特征,并结合…

张小明 2025/12/30 0:39:35 网站建设

网络推广有哪些常见的推广方法东莞网站seo公司哪家大

昇腾NPU大模型推理优化:Llama2-7B在sglang框架下的实战 引言 在昇腾NPU生态系统中,选择合适的推理框架对于模型性能至关重要。本文聚焦于Llama2-7B模型在sglang框架上的优化实践,通过具体的技术分析和性能测试,为开发者提供可复现…

张小明 2025/12/29 19:13:14 网站建设

重庆模板网站多少钱网站开发项目进度完成表

一、项目介绍 本项目使用YOLO(You Only Look Once)目标检测算法进行特定杂草的自动识别,目标是通过计算机视觉技术识别并定位农田中的“0 ridderzuring”杂草,从而帮助农业自动化管理。杂草的及时识别与处理对于提高农业生产效率、…

张小明 2025/12/29 23:45:44 网站建设

谁有那种手机网站公司管理系统cms

欧陆娱乐平台注册邀请码是 vaZGsLWkEn 注意大小写正确那么,如何获得邀请码呢?获取邀请码主要有以下几种途径:1.好友推荐:开新版本,麻老虎力挽狂澜这些人我是佩服的,现有用户会通过社交圈子推荐给朋友&#…

张小明 2025/12/29 13:22:18 网站建设

职参简历网站建设银行企业网站进不去

还在为无法下载网页视频而烦恼吗?想要轻松保存网络上的高清图片和音频文件?猫抓cat-catch资源嗅探工具就是你寻找的实用解决方案!无论你是技术初学者还是资深用户,这篇指南都将帮你快速掌握这个实用工具的使用方法。🚀…

张小明 2025/12/31 4:50:14 网站建设

怎么帮公司做网站建设自学做网站界面

你是否经历过这样的开发困境?🕵️‍♂️ 深夜调试时发现step()方法传入错误数据类型导致训练崩溃;团队协作中因接口定义模糊引发代码冲突;或者包装环境时因观测空间类型不匹配而浪费数小时排查时间?这些正是动态类型系…

张小明 2025/12/31 5:23:18 网站建设