zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

记录一次mysql分页查询优化方案

mysql 优化 查询 记录 方案 一次 分页
2023-09-14 09:04:36 时间

   SELECT * FROM mmp_coupon_info_detail LIMIT 3478908,20   #3.733

   当查询最后一页时,效率明显下降



   SELECT id FROM mmp_coupon_info_detail LIMIT 3478908,20  #1.163

   这个是利用了主键索引,所以查询效率比较高


   #利用表的覆盖索引来加速分页查询

SELECT * FROM mmp_coupon_info_detail WHERE id (SELECT id FROM mmp_coupon_info_detail LIMIT 3478908,1) LIMIT 20  #1.472



SELECT * FROM mmp_coupon_info_detail a JOIN (SELECT id FROM mmp_coupon_info_detail LIMIT 3478908,20) b ON a.id=b.id  #1.555


以上两种方式差不多。









   


MySQL命令记录 MySQL编码 1.查看数据库编码格式 show create database 数据库名 2.查看数据表的编码格式 show create table 表名 3.创建数据库时指定数据库的字符集 create database 数据库名 character set utf8; 4.创建数据表时指定数据表的编码格式 create table tb_books( name varchar(45) not null, price double not null, bookCount int not null,
校招面试题有了!——记录一个有趣的mySql查询 ## 前言 最近在做一个内部系统的报表统计功能,遇到了一个麻烦的查询场景,因为对sql语句确实不太熟练,在网上查了一些资料,最终找到了一个解法。具体场景和表结构并不复杂,对sql大佬们来说应该也是小case,不过细想确实有趣,特此记录下来。 ## 问题 已知表A有列:主键id、日期date和标签tag,其中tag是逗号分割的多值字符串(值的集合size不超过25个),如下如示例。请统计某段时间(例
三言两语记录mysql for update锁 另一个连接B 发起普通select请求,正常返回结果 3.连接B 发起select for update请求,由于第一个步骤的事务还没有结束,所以不能获取,会一直堵塞,直到超时 或者锁被释放后返回