我正在使用Linq-To-Entities进行查询,该查询仅返回947行但需要18秒才能运行.我已经做了一个“ToTraceString”来获取底层的sql并直接在数据库上运行相同的东西并获得相同的时间.

我使用了调优顾问并创建了几个索引,但影响不大.

查看查询执行计划有几个嵌套循环占95%的时间,但这些已经在索引上工作了?

有没有人有任何关于如何强制进行EF查询优化的想法?

编辑:提供其他信息

三个表的基本ER图如下:

People >----People_Event_Link ----< Events

P_ID P_ID E_ID

E_ID

我正在运行的linq旨在为特定Person获取所有事件(使用P_ID):

var query = from ev in genesisContext.Events

join pe in genesisContext.People_Event_Link

on ev equals pe.Event

where pe.P_ID == key

select ev;

return query;

这是生成的SQL(深呼吸!):

SELECT

1 AS [C1],

[Extent1].[E_ID] AS [E_ID],

[Extent1].[E_START_DATE] AS [E_START_DATE],

[Extent1].[E_END_DATE] AS [E_END_DATE],

[Extent1].[E_COMMENTS] AS [E_COMMENTS],

[Extent1].[E_DATE_ADDED] AS [E_DATE_ADDED],

[Extent1].[E_RECORDED_BY] AS [E_RECORDED_BY],

[Extent1].[E_DATE_UPDATED] AS [E_DATE_UPDATED],

[Extent1].[E_UPDATED_BY] AS [E_UPDATED_BY],

[Extent1].[ET_ID] AS [ET_ID],

[Extent1].[L_ID] AS [L_ID]

FROM [dbo].[Events] AS [Extent1]

INNER JOIN [dbo].[People_Event_Link] AS [Extent2] ON EXISTS (SELECT

1 AS [C1]

FROM ( SELECT 1 AS X ) AS [SingleRowTable1]

LEFT OUTER JOIN (SELECT

[Extent3].[E_ID] AS [E_ID]

FROM [dbo].[Events] AS [Extent3]

WHERE [Extent2].[E_ID] = [Extent3].[E_ID] ) AS [Project1] ON 1 = 1

LEFT OUTER JOIN (SELECT

[Extent4].[E_ID] AS [E_ID]

FROM [dbo].[Events] AS [Extent4]

WHERE [Extent2].[E_ID] = [Extent4].[E_ID] ) AS [Project2] ON 1 = 1

WHERE ([Extent1].[E_ID] = [Project1].[E_ID]) OR (([Extent1].[E_ID] IS NULL) AND ([Project2].[E_ID] IS NULL))

)

WHERE [Extent2].[P_ID] = 291

mysql 查询实体_mysql – 如何优化实体框架查询相关推荐

  1. mysql 嵌套查询性能_mysql SQL优化之嵌套查询-遁地龙卷风

    (-1) 写在前面 这篇随笔的数据使用的是http://blog.csdn.net/friendan/article/details/8072668#comments里的,里面有一些常见的select ...

  2. mysql 慢查询优化_MySQL 性能优化之慢查询

    性能优化的思路 首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句 其次使用explain命令去查询由问题的SQL的执行计划(脑补链接:点我直达1,点我直达2) 最后可以使用show pro ...

  3. mysql sql嵌套_mysql SQL优化之嵌套查询-遁地龙卷风

    (-1) 写在前面 这篇随笔的数据使用的是http://blog.csdn.net/friendan/article/details/8072668#comments里的,里面有一些常见的select ...

  4. MySQL索引系列--索引的优化--LIKE模糊查询

    原文网址:MySQL索引系列--索引的优化--LIKE模糊查询_IT利刃出鞘的博客-CSDN博客 简介         本文介绍MySQL的LIKE模糊查询索引的优化.主要是索引失效的解决方案. 索引 ...

  5. mysql 分页_MySQL 如何优化大分页查询?

    一 背景 大部分开发和DBA同行都对分页查询非常非常了解,看帖子翻页需要分页查询,搜索商品也需要分页查询.那么问题来了,遇到上千万或者上亿的数据量怎么快速的拉取全量,比如大商家拉取每月千万级别的订单数 ...

  6. mysql 连接 监控_mysql监控优化(一)连接数和缓存

    一.mysql的连接数 MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,连接数少的话,在大并发下连接数会不够用,会有很多线程在等待其他连接释放 ...

  7. mysql架构深入_mysql性能优化2:深入认识mysql体系架构

    前言 本文将重点梳理mysql的体系架构,便于了解mysql的实现原理. Mysql体系结构 Client Connectors 接入方 支持协议很多 Management Serveices &am ...

  8. mysql mongo关联查询语句_MySQL与Mongo简单的查询实例代码 筋斗云网络

    简介 本文通过一个实例给大家用MySQL和mongodb分别写一个查询,本文图片并茂给大家介绍的非常详细,感兴趣的朋友参考下吧 首先在这里我就不说关系型数据库与非关系型数据库之间的区别了(百度上有很多 ...

  9. mysql locate索引_MYSQL索引优化

    1.查看sql的执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息.show [session|global] stat ...

最新文章

  1. mysql 虚表_mysql虚拟表
  2. POJ3228二分最大流
  3. JavaScript的数据访问总结
  4. linux suse 时区设置,suse设置时间服务器
  5. MATLAB实战系列(三十七)-MATLAB基于PQ解耦风电场并网潮流计算
  6. c matlab 混合编程 调试,64位MATLAB和C混合编程以及联合调试
  7. css3实践之图片轮播(Transform,Transition和Animation)
  8. java学习(48):带参带返回
  9. OpenShift 4 之AMQ Streams(1) - 多个Consumer从Partition接收数据
  10. plsql 无法解析指定的连接标识符_TNS03505:无法解析名称
  11. PHP程序员进阶学习书籍参考指南
  12. hokuyo_node代码分析
  13. 用过那些号称媲美迅雷的下载神器,发现没一个能打的。
  14. 【Arduino 项目篇】智能窗户控制系统(附录:简单红绿灯制作)
  15. 快速搭建 QQ 聊天机器人--聊天机器人框架安装及搭建教程
  16. 用python手把手教你玩跳一跳小游戏,直接打出高分
  17. android地图定位到海洋,如何利用卫星导航技术进行高精度海洋测绘定位
  18. Vulkan学习(一)介绍
  19. 亿沃钛计算机科技有限公司怎么样,2017年8月联通沃指数发布:高德地图活跃用户2.17亿,排名行业第一...
  20. MuleSoft知识总结-13.Mule组件(Set Variable,For Each,Choice)

热门文章

  1. R语言回归模型构建、回归模型基本假设(正态性、线性、独立性、方差齐性)、回归模型诊断、car包诊断回归模型、特殊观察样本分析、数据变换、模型比较、特征筛选、交叉验证、预测变量相对重要度
  2. R语言ggplot2可视化分面图(faceting)、编写自定义函数将生成的分面图分裂成多个子图、并按照索引读取对应的可视化图像:Split facet plot into list of plots
  3. R语言构建catboost模型:构建catboost模型并基于网格搜索获取最优模型参数(Select hyperparameters)、计算特征重要度
  4. cufflinks基于dataframe数据绘制股票数据:散点图(scatter plot)、价差图
  5. jupyter notebook xdg-settings 错误
  6. 使用LDA(Linear Discriminant Analysis)进行降维(dimention reduction)详解和实战
  7. 机器学习-第六章 支持向量机(SVM)
  8. PacBio sequence error correction amd assemble via pacBioToCA
  9. JAVA基础13-Java抽象方法、抽象类、抽象之模板方法模式
  10. three.js 弹出二维图片