mysql uuid分页优化_MySQL性能优化之分页查询优化
MySQL分页查询原理
MySQL并不是跳过offset行,而是取offset+N行,然后返回放弃前offset行,返回N行,那当offset特别大的时候,效率就非常的低下,要么控制返回的总页数,要么对超过特定阈值的页数进行SQL改写。【阿里巴巴JAVA开发手册】
// 查询样例,查询不同的条数效率完全不一样
select * from employees limit 10000,10; ## 耗时:0.007s
select * from employees limit 100000,10; ## 耗时:0.031s
select * from employees limit 1000000,10; ## 耗时:0.42s
select * from employees limit 3000000,10; ## 耗时:1.2s
分页查询优化方式
1.基于主键ID实现查询优化分页查询优化
EXPLAIN select * from employees where id>3000003 limit 10; ##耗时:0.0005s
通过id定位到3000003数据,然后通过offset值取得想要的结果,效率提高不是一点点。
原理:
a、先查询到主键ID的索引
b、通过索引ID关联employees表
优化缺陷:如果主键不是自增长的(如uuid方式),则此方法失效。
2.基于主键ID实现查询优化分页查询优化
select * from employees e inner join (select id from employees limit 3000000,10) ed on e.id = ed.id; ##耗时:0.69s
原理:select id from employees limit 3000000,10语句直接走索引,快速定位所需要的id,然后通过id回表查询,比原先的语句少了很多的数据,而且走索引,速度会快很多。
3.分表分库
尽管上面两种方法可以优化查询的速度,但数据表的数据量超过500W的时候,还是建议使用分表分库,将数据拆分到不同的表中,减少数据行和索引的量也会大幅度提高查询效率。
mysql uuid分页优化_MySQL性能优化之分页查询优化相关推荐
- mysql not in优化_MySQL性能优化 — 实践篇2
点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章.本文 GitHub org_hejianhui/JavaStudy 已收录,有我的系列文章. 前言 MySQL索引底层数据结构与算法 ...
- mysql效率优化_MySQL性能优化的最佳12条经验
数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时 ...
- Mysql删除语句优化_MySQL性能优化之常用SQL语句优化
SQL性能优化的目标:至少要达到range级别,要求是ref级别,consts最高.[阿里巴巴JAVA开发手册] 说明: 1).consts单表中最多只有一个匹配行(主键/唯一索引),在优化阶段即可读 ...
- mysql 代码怎么优化_MySQL 性能优化的简略办法
mysql 性能优化的简单办法 优化数据库最核心的实际上就是配置参数的调整.本文通过一个简单的参数调整,实现了对拥有一个几十万行表的 group by 优化的例子.通过这个简单的调整,数据库性能有了突 ...
- mysql 阿里云 优化_MySQL性能优化速记
总结自<MySQL 5.7从入门到精通(视频教学版)>刘增杰编著. 优化简介 MySQL数据库优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度. 在MySQL中,可 ...
- mysql 代码怎么优化_Mysql性能优化
1,SQL语句中in包含的值不应过多 Mysql对于in做了相应的优化,即将in中的常量全部存储在一个数组里面,而这个数组是排好序的.但是对于数值较多,产生的消耗也比较大的: 例如: select i ...
- mysql 字符串索引 优化_MySQL性能优化之索引调优实战
索引失效场景或使用注意事项 a.索引无法存储null值,所以建议都给默认值 b.如果条件中有or,即使使用了索引条件也不起作用,所以尽量少用or 如果想使用or,又让索引生效,只能将or的每个列上加上 ...
- mysql sql 一部分记录_MySQL性能优化实践(很全面,值得收藏)
一 题记 最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久.原因是新功能用到旧功能的接口,而这些旧接口的 SQL 查询语句关联5,6张表且编写不够规范,导致 MySQL 在执行 SQL 语 ...
- mysql 8 配置参数优化_MySQL性能优化之参数配置
1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...
最新文章
- 报名 | 清华医工科研服务平台发布会暨医工结合科研基金成立大会
- kail linux安装软件提示“无法定位软件包”解决方法
- [SDOI2009]HH去散步(矩阵)
- Flash 组件应用与开发
- SAP JAM活跃度统计
- ​Python中面向对象的编程
- oracle 合并函数
- 机构研究显示iPhone 12 Pro Max是美国最受欢迎5G手机
- Linux 端口占用情况查看
- vue同时导入多个组件方法
- HTML5入门 之下拉菜单
- 【计算视觉】人体姿态识别研究综述(详细归纳!)
- win10删除多余账户_Win10系统如何删除账户?Win10系统删除账户的方法
- 使用yaml文件指定 kata 安全容器配置相关参数
- 深入理解Plasma(四)Plasma Cash
- 旅行青蛙(旅かえる)的最全攻略(不懂日语的可以看看)
- 如何成为一个原画场景大师
- 虚拟路由器冗余协议vrrp原理的理解
- pat甲级考试报名费_每日一感——记第一次PAT甲级考试之感想
- 什么软件测试鞋子真假,教你5招辨别真假Yeezy Boost鞋,真真假假你图啥?