mysql 查询实体_mysql – 如何优化实体框架查询
我正在使用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 – 如何优化实体框架查询相关推荐
- mysql 嵌套查询性能_mysql SQL优化之嵌套查询-遁地龙卷风
(-1) 写在前面 这篇随笔的数据使用的是http://blog.csdn.net/friendan/article/details/8072668#comments里的,里面有一些常见的select ...
- mysql 慢查询优化_MySQL 性能优化之慢查询
性能优化的思路 首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句 其次使用explain命令去查询由问题的SQL的执行计划(脑补链接:点我直达1,点我直达2) 最后可以使用show pro ...
- mysql sql嵌套_mysql SQL优化之嵌套查询-遁地龙卷风
(-1) 写在前面 这篇随笔的数据使用的是http://blog.csdn.net/friendan/article/details/8072668#comments里的,里面有一些常见的select ...
- MySQL索引系列--索引的优化--LIKE模糊查询
原文网址:MySQL索引系列--索引的优化--LIKE模糊查询_IT利刃出鞘的博客-CSDN博客 简介 本文介绍MySQL的LIKE模糊查询索引的优化.主要是索引失效的解决方案. 索引 ...
- mysql 分页_MySQL 如何优化大分页查询?
一 背景 大部分开发和DBA同行都对分页查询非常非常了解,看帖子翻页需要分页查询,搜索商品也需要分页查询.那么问题来了,遇到上千万或者上亿的数据量怎么快速的拉取全量,比如大商家拉取每月千万级别的订单数 ...
- mysql 连接 监控_mysql监控优化(一)连接数和缓存
一.mysql的连接数 MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,连接数少的话,在大并发下连接数会不够用,会有很多线程在等待其他连接释放 ...
- mysql架构深入_mysql性能优化2:深入认识mysql体系架构
前言 本文将重点梳理mysql的体系架构,便于了解mysql的实现原理. Mysql体系结构 Client Connectors 接入方 支持协议很多 Management Serveices &am ...
- mysql mongo关联查询语句_MySQL与Mongo简单的查询实例代码 筋斗云网络
简介 本文通过一个实例给大家用MySQL和mongodb分别写一个查询,本文图片并茂给大家介绍的非常详细,感兴趣的朋友参考下吧 首先在这里我就不说关系型数据库与非关系型数据库之间的区别了(百度上有很多 ...
- mysql locate索引_MYSQL索引优化
1.查看sql的执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息.show [session|global] stat ...
最新文章
- mysql 虚表_mysql虚拟表
- POJ3228二分最大流
- JavaScript的数据访问总结
- linux suse 时区设置,suse设置时间服务器
- MATLAB实战系列(三十七)-MATLAB基于PQ解耦风电场并网潮流计算
- c matlab 混合编程 调试,64位MATLAB和C混合编程以及联合调试
- css3实践之图片轮播(Transform,Transition和Animation)
- java学习(48):带参带返回
- OpenShift 4 之AMQ Streams(1) - 多个Consumer从Partition接收数据
- plsql 无法解析指定的连接标识符_TNS03505:无法解析名称
- PHP程序员进阶学习书籍参考指南
- hokuyo_node代码分析
- 用过那些号称媲美迅雷的下载神器,发现没一个能打的。
- 【Arduino 项目篇】智能窗户控制系统(附录:简单红绿灯制作)
- 快速搭建 QQ 聊天机器人--聊天机器人框架安装及搭建教程
- 用python手把手教你玩跳一跳小游戏,直接打出高分
- android地图定位到海洋,如何利用卫星导航技术进行高精度海洋测绘定位
- Vulkan学习(一)介绍
- 亿沃钛计算机科技有限公司怎么样,2017年8月联通沃指数发布:高德地图活跃用户2.17亿,排名行业第一...
- MuleSoft知识总结-13.Mule组件(Set Variable,For Each,Choice)
热门文章
- R语言回归模型构建、回归模型基本假设(正态性、线性、独立性、方差齐性)、回归模型诊断、car包诊断回归模型、特殊观察样本分析、数据变换、模型比较、特征筛选、交叉验证、预测变量相对重要度
- R语言ggplot2可视化分面图(faceting)、编写自定义函数将生成的分面图分裂成多个子图、并按照索引读取对应的可视化图像:Split facet plot into list of plots
- R语言构建catboost模型:构建catboost模型并基于网格搜索获取最优模型参数(Select hyperparameters)、计算特征重要度
- cufflinks基于dataframe数据绘制股票数据:散点图(scatter plot)、价差图
- jupyter notebook xdg-settings 错误
- 使用LDA(Linear Discriminant Analysis)进行降维(dimention reduction)详解和实战
- 机器学习-第六章 支持向量机(SVM)
- PacBio sequence error correction amd assemble via pacBioToCA
- JAVA基础13-Java抽象方法、抽象类、抽象之模板方法模式
- three.js 弹出二维图片