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

sql的count函数优化

sql的count(1)函数会执行遍历表统计符合条件的数目,下面有两个sql

第一条:

select count(1)
from membership_call_detail_statistics a
where a.repository_id = 'f2a4ed6b3e074e33bd99998c1def26f8'
and a.statistics_date 
between '2023-04-01 00:00:00' and '2023-07-03 00:00:00'

查询平均耗时500毫秒左右

第二条

select count(1)
from membership_call_detail_statistics a
where a.repository_id = 'f2a4ed6b3e074e33bd99998c1def26f8'
and a.id 
between (select min(id) from membership_call_detail_statistics where statistics_date = '2023-04-01 00:00:00')
and     (select max(id) from membership_call_detail_statistics where statistics_date = '2023-07-03 00:00:00')

查询平均耗时50毫秒左右

第二条是第一条的效率10倍,原因是第一条的repository_id ='f2a4ed6b3e074e33bd99998c1def26f8',走的是date索引,需要回表查询;而第二条走的是id主键索引,不需要回表查询。所以对于表操作尽量走主键索引,不会回表。

http://www.lryc.cn/news/109076.html

相关文章:

  • Ai创作系统ChatGPT源码搭建教程+附源码
  • 力扣 416. 分割等和子集
  • sqlyog导出mysql数据字典
  • 【C++】多态的实现及其底层原理
  • 【网络编程】TCP带外数据总结
  • 高薪程序员面试题精讲系列133之微服务里的网关有哪些实现方案?你熟悉Gateway网关吗?
  • 计算机网络(4) --- 协议定制
  • 【Mybatis】Mybatis架构简介
  • 如何使用大模型处理生活繁琐的工作
  • RpcController作用浅析
  • Linux(三):Linux服务器下日常实操命令 (常年更新)
  • 强大的截图软件--Snipaste
  • LeetCode·每日一题·722. 删除注释·模拟
  • npm更新和管理已发布的包
  • 如何高效使用Gherkin
  • [CKA]考试之调度 pod 到指定节点
  • git 常用命令有哪些
  • 算法leetcode|66. 加一(rust重拳出击)
  • MySQL备份Shell脚本
  • Python批量查字典和爬取双语例句
  • uni-app、H5实现瀑布流效果封装,列可以自定义
  • vue echart3个饼图
  • LEARNING TO EXPLORE USING ACTIVE NEURAL SLAM 论文阅读
  • item_search-ks-根据关键词取商品列表
  • windows运行WPscan报错:无法打开库libcurl.dll
  • web前端框架Javascript之JavaScript 异步编程史
  • Java多线程(1)---多线程认识、四种创建方式以及线程状态
  • 搭建Django+pyhon+vue自动化测试平台
  • CASAIM自动化平面度检测设备3D扫描零部件形位公差尺寸测量
  • PostgreSql pg_ctl 命令