mysql 添加limit,sql 语句执行时间变长的问题

调优一个sql语句,在语句如下

select resources_id,title,file_type,period,subject_id,subject_name  from cms_resources
        where status=2
        and  period="2"
        and subject_id=6
        and FIND_IN_SET("114",category_id)>0
        and FIND_IN_SET("264",category_id)>0
        and FIND_IN_SET("705",category_id)>0
          and FIND_IN_SET(7,type)>0 
order by update_time desc limit 0,1

之前看是没有这个索引,增加索引后,查询时间依然大于7秒。

然后一点点测试,发现到如下情况时,依然返回只需 700多毫秒。

select resources_id,title,file_type,period,subject_id,subject_name  from cms_resources
        where status=2
        and  period="2"
        and subject_id=6
        and FIND_IN_SET("114",category_id)>0
        and FIND_IN_SET("264",category_id)>0
        and FIND_IN_SET("705",category_id)>0
          and FIND_IN_SET(7,type)>0 
order by update_time desc

然后只有在加上:   limit 0,1 后,查询时间才会变为大于 7秒。

原因:

后来查证mysql官方文档,在order 的同时使用limit,将会对所有数据进行扫描重排,所以效率差。

改进为:

select * from (
select resources_id,title,file_type,period,subject_id,subject_name,category_id  from cms_resources
        where status=2
        and  period="2"
        and subject_id=6
        and FIND_IN_SET("114",category_id)>0
        and FIND_IN_SET("264",category_id)>0
        and FIND_IN_SET("704",category_id)>0
          and FIND_IN_SET(7,type)>0  
order by update_time desc   ) t2
limit 0,1

查询时长恢复700多毫秒。效率很高,而且无序再程序上进行改动了。

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

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

相关文章

安防监控EasyCVR视频汇聚平台使用海康SDK播放出现花屏是什么原因?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…

【go/方法记录】局部坐标与世界坐标间的相互转换(位置/方向)

文章目录 说在前面计算旋转矩阵计算变换矩阵Inverse QuaternionEuler To QuaternionWorld to LocalPositionRotation Local to WorldPositionRotation 参考 说在前面 golang版本: go1.20.5 windows/386gonum版本:gonum.org/v1/gonum v0.14.0 计算旋转矩阵…

hutool SM2(秘钥对、签名、验签、加密、解密)

//生成公钥对KeyPair pair SecureUtil.generateKeyPair("SM2");//私钥String privateKeyStr Base64.getEncoder().encodeToString(pair.getPrivate().getEncoded());//公钥String publicKeyStr Base64.getEncoder().encodeToString(pair.getPublic().getEncoded())…

F.binary_cross_entropy、nn.BCELoss、nn.BCEWithLogitsLoss与F.kl_div函数详细解读

提示:有关loss损失函数详细解读,并附源码!!! 文章目录 前言一、F.binary_cross_entropy()函数解读1.函数表达2.函数运用 二、nn.BCELoss()函数解读1.函数表达2.函数运用 三、nn.BCEWithLogitsLoss()函数解读1.函数表达…

Vue dev-tools的安装

安装 Vue 开发者工具,装插件调试Vue应用 1.通过谷歌应用商店来进行安装(国外网站) 2.极简插件: 搜索 Vue -> 下载解压 -> 浏览器扩展模式打开,开发者模式 -> 将解压的CRX文件拖拽安装 -> 插件详情 &…

vscode Prettier配置

常用配置项: .prettierrc.json 是 Prettier 格式化工具的配置文件 {"printWidth": 200, // 指定行的最大长度"tabWidth": 2, // 指定缩进的空格数"useTabs": false, // 是否使用制表符进行缩进,默认为 false"singl…

华为Matebook X Pro 2022款 i7 集显(MRG-W76)原装出厂Windows11预装系统21H2

下载链接:https://pan.baidu.com/s/12ru9lUeQ7mWd5u1KLCM0Pg?pwdc7pi 提取码:c7pi 原厂系统自带指纹、面部识别、声卡、网卡、显卡等所有驱动、出厂主题壁纸、Office办公软件、华为电脑管家等预装程序,如图 由于时间关系,绝大部分资料没…

照亮夜晚的台灯:户外空间的闪亮之选

户外台灯是家庭和社交空间的重要元素,它们不仅提供照明,还可以为您的户外区域增添美感,以及创造一个温馨的社交氛围。以下是一些关于户外台灯的信息,以帮助您更好地了解它们的多功能性和用途。 1、照明的重要性:户外台…

工作中积累的对K8s的就绪和存活探针的一些认识

首先,我的项目是基于 Spring Boot 2.3.5 的,并依赖 spring-boot-starter-actuator 提供的 endpoints 来实现就绪和存活探针,POM 文件如下图: 下面,再让我们来看下与该项目对应的Deployment的YAML文件,如下…

ES的索引概念

1. 概念:Elasticsearch(ES)是一个开源的全文搜索引擎,可以快速地存储、搜索和分析大量的结构化和非结构化数据。 2. 索引的作用:ES索引是将数据存储在Elasticsearch中的基本方式。它用于存储、搜索、分析和查询数据。…

Mac代码文本编辑器Sublime Text 4

Sublime Text 4 for Mac拥有快速响应的功能,可以快速加载文件和执行命令,并提供多种语言支持,包括C 、Java、Python、HTML、CSS等。此外,该编辑器还支持LaTeX、Markdown、JSON、XML等技术领域。 Sublime Text 4 for Mac的插件丰富…

【纯干货】医疗视觉大模型2023年进展简述|Medical Vision-language Models (VLM)

写在前面——本篇为原创内容,如转载/引用请务必注明出处!!(最后更新于2023年11月16日) 如有错误,欢迎评论区指出!!不胜感激!! 点赞三连谢谢!!! 如有 Medical…

【SA8295P 源码分析 (三)】125 - MAX96712 解串器 start_stream、stop_stream 寄存器配置 过程详细解析

【SA8295P 源码分析】125 - MAX96712 解串器 start_stream、stop_stream 寄存器配置 过程详细解析 一、sensor_detect_device():MAX96712 检测解串器芯片是否存在,获取chip_id、device_revision二、sensor_detect_device_channels() :MAX96712 解串器 寄存器初始化 及 detec…

K8s Pod 创建埋点处理(Mutating Admission Webhook)

写在前面 工作中涉及到相关的知识在实际的生产中,我们可以有需求对 创建的资源做一些类似 埋点 相关的操作,比如添加一些 Pod 创建时的自定义验证逻辑,类似表单提交验证那样,或者希望对创建的资源对象进行加工,在比如给…

一个怪异的笔记本重启死机问题分析

疫情期间买了个国产的海鲅笔记本,八代i5处理器8269u,显卡是集显里面比较牛的一款,iris 655。 当时买这个笔记本的主要原因是当小主机用的,平时接显示器,用来看网页,写代码,偶尔也能移动&#x…

如何分析伦敦金的价格走势预测?

伦敦金作为国际黄金市场的重要指标,其价格走势一直备受投资者关注。但是,黄金市场的价格变化受到多种因素的影响,因此要准确预测伦敦金的价格走势并非易事。在本文中,将介绍一些常用的方法和工具,帮助您分析伦敦金的价…

金融帝国实验室(Capitalism Lab)V10版本即将推出全新公司徽标(2023-11-13)

>〔在即将推出的V10版本中,我们将告别旧的公司徽标,采用全新光鲜亮丽、富有现代气息的设计,与金融帝国实验室(Capitalism Lab)的沉浸式体验完美互补!〕 ————————————— >〔《公司详细信…

ubuntu20源码编译搭建SRS流媒体服务器

第一、下载源码 下载源码,推荐用Ubuntu20: git clone -b develop https://gitee.com/ossrs/srs.git第二、编译 2.1、切换到srs/trunk目录: cd srs/trunk2.2、执行configure脚本 ./configure2.3、执行make命令 make2.4、修改conf/rtmp.c…

【打卡】牛客网:BM54 三数之和

资料&#xff1a; 1. 排序&#xff1a;Sort函数 升序&#xff1a;默认。 降序&#xff1a;加入第三个参数&#xff0c;可以greater<type>()&#xff0c;也可以自己定义 本题中发现&#xff0c;sort居然也可以对vector<vector<int>>排序。 C Sort函数详解_…

Axure9 基本操作(二)

1. 文本框、文本域 文本框&#xff1a;快速实现提示文字与不同类型文字显示的效果。 2. 下拉列表、列表框 下拉列表&#xff1a;快速实现下拉框及默认显示项的效果。 3. 复选框、单选按钮 4.