当前位置: 首页 > news >正文

记录一次利用条件索引优化接口性能的实践

一、业务背景

某表数据量达到4000w,需要每天定时任务处理20w条。前2周内SQL执行无任何问题,非常快,效率比较高。随着处理完的数据量变大,处理完数据状态设置为1,SQL执行效率越来越差,已经达到了惊人的4.6秒。
SQL如下:其中表A的expired_date是有索引的。

select id,expired_date,process_status 
from A 
where 
expired_date< '2025-02-11' and expired_date >= '2025-02-01'
and process_status = 0
limit 1000

二、分析及优化

1:分析SQL执行计划

发现虽然走了expired_date 索引,但是随着定时任务处理的数据原来越多,查询的跨度比较大,过滤无效数据达到了900w,耗时4100ms,导致SQL的整体性能下降。

2:增加条件索引

create index a_process_status on a(process_status) where process_status = 0;

3:优化效果

同样的执行SQL,过滤无效数据降低到了1000以下,耗时1.8ms,极大了提升了执行效率。

相关文章:

  • golang并发编程如何学习
  • unsloth-llama3-8b.py 中文备注版
  • 汽车零部件厂如何选择最适合的安灯系统解决方案
  • ESLint 深度解析:原理、规则与插件开发实践
  • C# Unity 面向对象补全计划 之 索引器与迭代器
  • Spring AI 1.0.0-M6 快速开始(一)
  • MySQL批量生成建表语句
  • 解决CentOS 8.5被恶意扫描的问题
  • 美国国家航空航天局(NASA)的PUNCH任务
  • 第十章,防火墙带宽管理
  • Flink深入浅出之02
  • 软件系统属性
  • Java集合面试篇
  • 视觉-语言模型-出发点CLIP--(精读论文)
  • *图论基础(5)
  • 计算机网络笔记(一)——1.1计算机网络在信息时代中的作用
  • 数据库复习(第五版)- 第十章 数据库恢复技术
  • 【JavaEE】阻塞队列
  • HarmonyOS Next~鸿蒙系统ArkCompiler跨平台编译技术的革新实践
  • Flask 打包为exe 文件
  • 经济日报:人工智能开启太空经济新格局
  • 首届中国人文学科年度发展大会启幕,共话AI时代人文使命
  • 纪念|脖子上挂着红领巾的陈逸飞
  • 雷军内部演讲回应质疑:在不服输、打不倒方面,没人比我们更有耐心
  • 吉利汽车一季度净利润大增264%,称整合极氪后实现整体效益超5%
  • 马上评|清理“滥竽充数者”,为医者正名