背景:最近公司有个同事遇到个需求需要用到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函数


![[附源码]Python计算机毕业设计Django酒店在线预约咨询小程序](https://img-blog.csdnimg.cn/dec0b4b7c1af4702ba958b452cf1e651.png)
















