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

MYSQL用函数请三思

背景:最近公司有个同事遇到个需求需要用到mysql sleep函数,但结果却大出意料.
测试如下:
表:
CREATE TABLE test_sleep (
id int NOT NULL AUTO_INCREMENT,
a int NOT NULL,
b int NOT NULL,
PRIMARY KEY (id),
KEY a (a)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
数据:
INSERT INTO test_sleep VALUES (1, 10000, 1);
INSERT INTO test_sleep VALUES (2, 20000, 1);
INSERT INTO test_sleep VALUES (3, 30000, 1);
INSERT INTO test_sleep VALUES (4, 40000, 2);
INSERT INTO test_sleep VALUES (5, 50000, 1);

查询sql
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

为什么第三个查询的时间要5秒?(mysql5.7和8结果是一样的)
看下EXPLAIN
在这里插入图片描述
来总结下
查询5秒的sql,使用的是没有加索引的字段以及查询有GROUP BY 和 LIMIT。
在没有使用函数 SLEEP的时候,查询的速度是一样的,使用了sleep函数是五秒,总共数据一共5条,要是1000万呢,慎用mysql函数

相关文章:

  • Mac好用又好看的终端iTerm2 + oh-my-zsh
  • 什么是 Web3 的生成式 AI?
  • 面试笔记——线程池
  • WEB攻防-IIS中间件PUT漏洞
  • 电路板的EMC干扰源有哪些
  • linux下安装deepspeed
  • Linux内核网络
  • 福特锐界2021plus 汽车保养手册
  • C++ 网络编程学习二
  • Excel的中高级用法
  • 提升 Node.js 服务端性能:Fastify 框架
  • 浅谈 TCP 三次握手
  • Spring_第3章_AOP+事务
  • 手写数组方法之不改变原数组方法
  • Mockito verify Junit5集成 Mockito
  • 文件或者文件夹的忽略
  • 年产2万吨山楂酒工厂的设计-发酵工段及车间的设计(lunwen+任务书+cad图纸)
  • 【LIN总线测试】——LIN主节点调度表测试
  • 写一个flutter程序2
  • 给定一个数组arr,长度为N且每个值都是正数,代表N个人的体重。再给定一个正数 limit,代表一艘船的载重。
  • 【大道模式】状态模式 - State Pattern(审核状态流转)
  • 协议-序列化-http-Cookie-Session-https
  • 数据结构—Map集合
  • SpringMVC对消息转换器的处理相关
  • Linux-文件压缩解压
  • [附源码]计算机毕业设计JAVA医药管理系统
  • [附源码]计算机毕业设计基于SpringBoot+Vue的健身房会员系统的设计与实现
  • 9 特色聚类
  • python中的集合详解
  • pringboot面向爱宠人群的宠物资讯系统36as8计算机毕业设计-课程设计-期末作业-毕设程序代做
  • Flink系列之Flink中StateBackend深入剖析和应用
  • Java可变参数和集合工具类Collections的详细介绍