| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Mysql数据库分页查询及优化 -> 正文阅读 |
|
[大数据]Mysql数据库分页查询及优化 |
????????最近遇到个数据库分页查询问题,mysql数据库分页查询默认是升序查询,就是第一页查询的是最先插入的数据,最后一页才是最新插入的数据,弄了个小的数据库表单,记录下我的操作过程,还有优化查询速度的方法。 ???????假设我的数据库里的表名为WHITELISTDATA,数据一共有13条,每页要求显示10条数据? 1、一般分页查询方法:第一页:
(备注:limit后面的0是页数减1然后乘以每页显示数量10,limit的详细的分页知识可以自行再另外查询资料) 查询第二页:
2、优化查询方法(利用子查询进行优化查询)查询第一页方法:
查询第二页方法:
备注: 优化的数据库查询当数据在上万情况下第二种方法比第一种方法快好几倍的查询速度 在此我大概解释下优化提速的原因:普通方法查询的时候会遍历数据库的每行和每列数据,全部都要读一遍,所以数据上万条了,键值又多的话会慢的不行。 优化用的子查询方法就要稍微好点,他首先是通过这条语句《select id from WHITELISTDATA order by id limit 0,1》查询到分页查询的那个ID值,不是遍历每行每列数据,耗时少,然后再根据这条语句《select * from WHITELISTDATA where id >= 》查询ID值大于上面查询出来的那个ID值得数据即可,所以遍历的数据就只有10条数据,所以当数据量很大的时候查询速度会快很多。 3、降序查询上面的查询方式都是通过ID的升序查询,所以在分页查询的时间,新添加的数据会被放到最后一页,有些需求是最新添加的数据需要放在最前面,保证用户方便查看,所以此时需要降序查询,数据库查询默认情况下是升序查询,降序查询需要修改一些参数,本质就是加一个desc参数。 普通方法的降序查询: 降序查询第一页数据方法
降序查询第二页数据方法
优化降序查询方法: 优化降序查询第一页数据方法
优化降序查询第二页数据方法
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/23 10:35:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |