<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">晚上割接了1500万联系人账号到EI_LinkmanUserInfos表,第二天程序报告下面的查询语句超时</span>
;WITH a AS (
SELECT ROW_NUMBER() OVER(ORDER BY l.LinkmanId) AS LinkmanCount,
l.LinkmanId,l.Name,l.LinkmanType
,l.Mobile,l.Email,l.DepartmentId,d.Name AS DepartmentName,l.Position,l.Code AS VnetCode
FROM dbo.EI_Linkmen l LEFT JOIN dbo.EI_Departments d ON l.DepartmentId=d.DepartmentId  left join (SELECT * FROM  (SELECT ROW_NUMBER() OVER(PARTITION BY LinkmanId ORDER BY LinkmanUserInfoId) AS rn,*  FROM dbo.EI_LinkmanUserInfos ) uix WHERE uix.rn=1) ui on l.LinkmanId=ui.linkmanid   WHERE l.DataStatus = 0 AND l.EnterpriseId=916627  ) SELECT (SELECT COUNT(1) FROM a ) AS TotalCount,LinkmanId,Name,Mobile,Email,DepartmentId,DepartmentName,LinkmanTypeas [Type],Position,OpenContent='',VnetCode
FROM a WHERE LinkmanCount BETWEEN 1 AND 10

分析:

1、查询中左连接了EI_LinkmanUserInfos表,但是查询的结果列表中没有包含EI_LinkmanUserInfos表的任何字段。

2、where条件中只包含对表EI_LinkMen表的过虑l.DataStatus = 0 AND l.EnterpriseId=916627,并且EI_Departments.departmentID是主键,这种情况下应该先对EI_LinkMen分页,再去关联EI_Departments。

SQL语句改成先分页,再查询关联信息:

;with a as(
select ROW_NUMBER() OVER(ORDER BY l.LinkmanId) AS LinkmanCount, l.LinkmanId,l.Name,l.LinkmanType,l.Mobile,l.Email,l.DepartmentId,l.Position,l.Code AS VnetCode
from  ei_linkmen l
where DataStatus=0 and EnterpriseId=916627
)
select (SELECT COUNT(1) FROM a ) AS TotalCount,l.LinkmanId,l.Name,Mobile,Email,l.DepartmentId,d.Name DepartmentName,LinkmanType,x.AccountName,x.AccountECcode
from a lLEFT JOIN dbo.EI_Departments d ON l.DepartmentId=d.DepartmentId outer apply(select top 1 * from EI_LinkmanUserInfos where LinkmanId=l.LinkmanId order by LinkmanUserInfoId) x
where  LinkmanCount BETWEEN 1 AND 10

分页查询超时问题(1)相关推荐

  1. mysql分片库分页查询_mysql数据库分页查询优化

    当数据很多需要进行分页查询时:需要先查出第一条数据的id然后根据id查询大于id的数据 limt 一页的数据量 1.   直接用limit start, count分页语句, 也是我程序中用的方法: ...

  2. mysql 大分页查询优化_Mysql骚操作:优化大分页查询

    背景 系统结构如上图.经过排查是因为系统B拉取数据时间太长导致的推送超时. 系统B拉取数据的方法是根据_tiemstamp(数据操作时间)分页查询系统A的接口,即: 1SELECT 字段名2FROM  ...

  3. mysql为何500w拆表_【mysql】MySQL 单表500W+数据,查询超时,如何优化呢?

    1.问题描述: MySQL 数据库,单表 `im_data_record`,查询超时(30s) 表结构如下图: 表索引如下图: 查询语句如下: SELECT `record_global_id`, ` ...

  4. mysql中如何分页查询_MySQL_mysql分页原理和高效率的mysql分页查询语句,以前我在mysql中分页都是用的 l - phpStudy...

    mysql分页原理和高效率的mysql分页查询语句 以前我在mysql中分页都是用的 limit 100000,20这样的方式,我相信你也是吧,但是要提高效率,让分页的代码效率更高一些,更快一些,那我 ...

  5. LDAP用户登录认证校验 及 LDAP分页查询

    某天,老大说,给我一个需求,支持LDAP用户登录,一听,哇,这是啥 啥 啥.经过刻苦努力Ctrl+C/V,终于搞出来了,上代码! 了解一下,LDAP(Lightweight Directory Acc ...

  6. mybatis分页插件--列表切割成分页查询

    在使用mybatis列表查询时存在大数据量内存溢出的风险,这里实现了在不改变代码逻辑的情况下将查询做分页切割.点击下载资源 由定时任务跑批的数据往往使用列表直接一次性查询出来,在程序刚上线的时候可能没 ...

  7. [JAVA EE] JPA 查询用法:自定义查询,分页查询

    项目已上传:https://codechina.csdn.net/qq_36286039/javaee 自定义查询 问题:内置的crud功能不满足需求时如何添加自定义查询? 几种自定义查询方法 方法命 ...

  8. jpa分页查询_spring data jpa 居然提供了这么多查询方式!

    spring data jpa提供了多种查询方式,如下: 方法名称查询 继承Repository接口 测试代码 方法名称中支持的关键字(官方文档提供) 使用JPA命名查询 在User实体中定义jpql ...

  9. Oracle中分页查询语句

    Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用. ...

最新文章

  1. .net_ckeditor+ckfinder的图片上传配置
  2. 有答案了!一张图告诉你到底学Python还是Java!你咋看?
  3. 服务器反馈为空,反馈服务器端error的处理
  4. Python架构(一)
  5. 按键改变元素背景颜色 链式编程的原理 评分案例 each方法的使用
  6. Teams Meeting App的 task 弹出框
  7. Android开发之动画(转)
  8. 最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁
  9. 线程池异步线程中再次获取线程池资源的问题
  10. qt界面嵌入web_使用Qt WebAssembly而不是JavaScript创建Web用户界面
  11. Ubuntu-创建wifi热点-Android能连接(2)
  12. 99se.PCB技术大全
  13. 聚焦基因组学研究,JMP参加第七届国际统计遗传学与基因组学高峰论坛
  14. 叮,你有一份光线追踪技术合集待查收 | IMG2020
  15. 使用知用电流探头时如何设置示波器参数
  16. 建筑力学与结构【3】
  17. 男人四十以后适合在哪个行业创业?为什么?
  18. 2021年中国报刊出版行业经营现状及A股上市企业对比分析[图]
  19. 安卓IMS 原理解析(二、IMS之InputReader事件获取)
  20. java定义一个方法计算三角形,长方形,圆形面积和周长

热门文章

  1. update两个表中的同一字段的数据_用Python实现多个工作簿中的数据按列合并到同一个工作表中...
  2. ac86u原厂固件去广告_苹果发布最新固件IOS12.3.2,估计不修正你的手机
  3. c语言学习-从键盘输入三个数,按照从小到大(或从大到小)的顺序输出
  4. 搭建自己的Unity Package
  5. .net core精彩实例分享 -- 应用配置和数据库访问
  6. Vue 3 正式发布
  7. Vue学习笔记(二) —— 组件开发
  8. 新商标表明华为鸿蒙系统在海外或叫做“Harmony OS”
  9. vue-router中hash模式、history模式原理
  10. latex 公式编号_放弃mathtype,word也可以轻松输入公式