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

网站建设有哪些家在哪里推广比较好

网站建设有哪些家,在哪里推广比较好,网站开发需求文档,江苏建信建设集团网站Mysql 深度分页问题及优化方案 一、为什么 MySQL 深度分页慢#xff1f;二、优化方案三、补充 一、为什么 MySQL 深度分页慢#xff1f; 在数据量大时#xff0c;深分页查询速度缓慢#xff0c;主要原因是多次回表查询。 前言#xff1a;N个条件为索引#xff0c;id为主… Mysql 深度分页问题及优化方案 一、为什么 MySQL 深度分页慢二、优化方案三、补充 一、为什么 MySQL 深度分页慢 在数据量大时深分页查询速度缓慢主要原因是多次回表查询。 前言N个条件为索引id为主键 平常分页一般也是用的 PageHelper 插件最终 SQL 就大致长这个样 -- SELECT * FROM table_name WHERE N个条件 ORDER BY id LIMIT offset, limit;SELECT id, name FROM table_name WHERE N个条件 LIMIT 100000, 10;它的执行流程 先去二级索引过滤数据然后找到主键ID通过ID回表查询数据取出需要的列扫描满足条件的100010丢弃前面100000条返回 这里很明显的不足就是明明只需要拿10条确多回表了100000次 二、优化方案 前两种方式其核心点都是 优化回表次数 这个角度去进行优化但是扫描的行却并没有减少后面两种是从减少扫描行入手的方式不过都有一定限制。 局限性依赖于连续自增的字段如果不连续可以order by 一下 通过子查询优化 优化回表次数 SELECT id, name FROM table_name WHERE id (SELECT id FROM table_name WHERE update_time 2024-11-01 23:59:59 LIMIT 100000, 1) AND update_time 2024-11-01 23:59:59 LIMIT 10;流程根据条件在二级索引进行匹配得出结果ID后外层查询再根据结果ID向后查10个即可 通过 INNER JOIN 优化 优化回表次数 SELECT t1.id, t1.name FROM table_name t1 INNER JOIN (SELECT t2.id FROM table_name t2 WHERE t2.update_time 2024-11-01 23:59:59 ORDER BY t2.update_time LIMIT 100000, 10) AS t3 ON t1.id t3.id;标签记录法 记录上次查询的最大ID再请求下一页的时候 select id, name FROM table_name where id 100000 order by id limit 10;between…and… select id, name FROM table_name where id between 100000 and 100010 order by id;三、补充 优化方案是否可带条件适用场景子查询是后台系统多条件分页INNER JOIN是后台系统多条件分页标签记录法否滑动分页如app商品列表、新闻资讯列表between…and…否滑动分页 在系统中采用标签记录法根据条件快速定位到ID然后再次根据条件向后扫描指定行数前端也一并改造禁止输入页数仅允许点击下一页上一页【既然都出现深分页问题了那业务也不需要支持使用者随意跳页因为没有任何意义他要跳到八千五百三十一页看什么呢】 参考链接https://www.jb51.net/database/329990tpg.htm
http://www.w-s-a.com/news/660/

相关文章:

  • 做带会员后台的网站用什么软件旅游网站建设资金请示
  • 商品网站怎么做wordpress 表情拉长
  • 商城网站设计费用网络公司怎样推广网站
  • 视频公司的网站设计工图网
  • 免费快速网站十八个免费的舆情网站