mysql大表的深度分页慢sql案例(跳页分页)-2

1 背景

有一张大表,内容是费用明细表,数据量约700万级, 普通B+树索引KEY `idx_fk_fymx_qybh_xfsj` (`qybh`,`xfsj`)。

1.1 原始深度分页sql

 select t.* from fk_fymx t where t.qybh ='XXXXXXX' limit 100000,100;

 深度分页会导致加载数据行过多100000+100=100100行,磁盘IO代价过高比较慢

1.2 原始深度分页sql执行耗时

共耗时 1m2s

 2、解决方案

2.1 优化之后sql

select t.*  from fk_fymx t,(select  id from fk_fymx where  qybh ='xxxxxx' limit 100000,100) t2 where t.id = t2.id

采用延迟关联的方式进行处理,减少SQL回表,但是要记得索引需要完全覆盖才有效果,SQL改动如下:充分利用索引覆盖的特性,扫描索引结构,避免全表扫描。

 

 2.2 优化之后sql执行耗时

45ms 

3、总结

     深度分页往往会带来全表扫描查询慢的问题,我们一定要分析执行计划,要么利用连续分页特性解决问题、要么利用索引扫描来解决问题。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/337625.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源】在线考试系统 JAVA+Vue.js+SpringBoot 新手入门项目

目录 一、项目介绍 二、项目截图 三、核心代码 【开源】在线考试系统 JAVAVue.jsSpringBoot 新手入门项目 一、项目介绍 经典老框架SSM打造入门项目《在线考试系统》,包括班级模块、教师学生模块、试卷模块、试题模块、考试模块、考试回顾模块,项目编…

PHP对接百度语音识别技术

PHP对接百度语音识别技术 引言 在目前的各种应用场景中,语音识别技术已经越来越常用,并且其应用场景正在不断扩大。 百度提供的语音识别服务允许用户通过简单的接口调用,将语音内容转换为文本。 本文将通过PHP语言集成百度的语音识别服务…

Ethercat设备 转 成profinet IO协议项目案例

1 案例说明 设置网关采集EtherCAT设备数据把采集的数据转成profinet IO协议转发给其他系统。 2 准备工作 3. 仰科网关。支持采集EtherCAT设备数据,profinet IO协议转发。 4. 电脑。IP设置成192.168.1.198,和网关在同一个网段。 5. 网线、12V电源。 3 …

postgressql——事务提交会通过delayChkpt阻塞checkpoint(9)

事务提交会通过delayChkpt阻塞checkpoint Postgresql事务在事务提交时(执行commit的最后阶段)会通过加锁阻塞checkpoint的执行,尽管时间非常短,分析为什么需要这样做: 首先看提交堆栈 #1 0x0000000000539175 in Co…

建设人工智能平台,主流GPU卡选型分析

国内外主流GPU卡性能分析!2024! 大模型兴起助推算力需求激增 2024年,深度学习与人工智能技术飞速跃进,Transformer、GPT-3等大模型在自然语言处理、图像识别、语音合成等领域大放异彩,开启AI新纪元。其庞大的参数与数…

Flink实现实时异常登陆监控(两秒内多次登陆失败进行异常行为标记)

Flink实现异常登陆监控(两秒内多次登陆失败进行异常行为标记) 在大数据处理领域,Apache Flink 是一个流行的开源流处理框架,能够高效处理实时数据流。在这篇博客中,我们将展示如何使用 Apache Flink 从 MySQL 中读取数…

springboot + Vue前后端项目(第十四记)

项目实战第十三记 写在前面1. 建立字典表2. 后端DictController3. Menu.vue4. 建立sys_role_menu中间表5.分配菜单接口6. 前端Role.vue改动总结写在最后 写在前面 本篇主要讲解动态分配菜单第二章节 菜单页面优化 引入图标 角色界面优化 角色自主分配菜单,并保存至…

诸神混战:2023年中国头部物流集成商财报公开:几家欢喜几家愁~

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 在全球供应链经历前所未有的考验之时,物流装备行业的领军企业们在2023年展现了他们的韧性和创新能力。 从智能仓储到自动化搬…

钣金件设计规范

(一) 钣金 1、钣金的概念 钣金(sheet metal)是针对金属薄板(厚度通常在6mm以下)的 一种综合冷加工工艺,包括冲裁、折弯、拉深、成形、锻压、铆合等, 其显著的特征是同一零件厚度一致。 2、钣…

善听提醒遵循易经原则。世界大同只此一路。

如果说前路是一个大深坑,那必然是你之前做的事情做的不太好,当坏的时候,坏的结果来的时候,是因为你之前的行为,你也就不会再纠结了,会如何走出这个困境,是好的来了,不骄不躁&#xf…

解决Windows 10通过SSH连接Ubuntu 20.04时的“Permission Denied”错误

在使用SSH连接远程服务器时,我们经常可能遇到各种连接错误,其中“Permission denied, please try again”是较为常见的一种。本文将分享一次实际案例的解决过程,帮助你理解如何排查并解决这类问题。 问题描述 在尝试从Windows 10系统通过SS…

分享一个在linux中运行通义千问的方法

分享一个在linux中和通义千问交互的方法 效果展示: 整体步骤 分享一个在linux中和通义千问交互的方法效果展示:一、在阿里云appflow控制台创建连接流1、通过以下地址,在灵积平台创建个API-KEY,用于通义千问的连接凭证2、点击连接流-创建连接流3、第一步选择webhook4.第二步…

618大促有哪些好物是最值得入手的的?请收下这份618必买好物清单!

最近聊的最多的话题就是618,年中购物大狂欢马上来了!!今天整理了一下之前购买的好物,发现相比之前的价格真的是太划算了,赶紧分享出来给大家,趁着这个大促赶紧多存入手~ 推荐1、南卡Neo 2——不伤耳黑科技…

Facebook开户|Facebook广告投放指南

家人们中午好~今天的文章由我们帅气逼人的大帅哥Zoey为大家分享(狗头)~有想要通过Facebook广告掘金的家人们!今天就跟大家分享一下Facebook广告投放的底层逻辑和实用技巧,帮助大家少走弯路,快速入门~ 基础知识&#x…

反射获取构造方法

目录 利用反射获取构造方法 代码实现 获取class对象 ​编辑获取权限修饰符 获取参数 创建对象 利用反射获取构造方法 代码实现 Student类: 获取class对象 获取权限修饰符 获取参数 创建对象 因为con4的构造方法的权限修饰符是private,不能直接在测…

图解支付系统的渠道路由设计

大家好,我是隐墨星辰,今天和大家聊聊渠道路由设计。 这篇文章主要讲清楚:渠道路由是什么,为什么需要渠道路由,渠道路由的几种形态,一个简洁而实用的基于规则的渠道路由设计。 注:有些公司称渠…

基于标准库的STM32的外部中断EXTI

毕设已经告一段落了,接下来准备开始整理一下毕设中用到的知识与技术细节,今天整理的是STM32从编码器获取数据的方式-----外部中断(EXTI): 外部中断分为四个硬件相关外设,GPIO/AFIO/EXTI/NVIC(E…

11.3 指针和函数

11.3 指针和函数 本节必须掌握的知识点: 指针作为函数的参数 数组作为函数的参数 指针作为函数的返回值 在C语言中,指针的一个重要作用就是作为函数参数使用,本节将介绍这一重要作用。 11.3.1 指针作为函数的参数 实验一百一十三&#xff…

USART串口数据包

USART串口数据包 先来看两张图,本次程序是串口收发HEX数据包,第二种是串口收发文本数据包,之后两个图,展示的就是接收数据包的思路。 在PB1这里接了一个按键,用于控制。在串口助手,在发送模式和接收模式都…

【错题集-编程题】小红的子串(前置和 + 双指针)

牛客对应题目链接:小红的子串 (nowcoder.com) 一、分析题目 利用前缀和的思想,求种类个数在 [l, r] 区间内子串的个数,等于求 [1, r] 区间内个数 - [1, l - 1] 区间内个数。 求种类个数在 [1, count] 区间内子串的个数,可以用滑动…