sql分页优化
索引优化
注意查询的数据占总数据达到一定量的时候可能导致索引失效。可以用limit或者指定列缩小数据区域可以解决。
以时间orderby排序的limit分页优化
前提用order by分页
limit分页在两三万左右时可以使用,超过十万条记录时要先查询出前n-1页的时间最大值max(date),以这个为开始时间。这里变动的参数只有下面的300000,这里为查询第30001页的数据。
300000为pagerow*(page-1)得来。
select * FROM
tbl where sysDate >(select max(sysDate) from (select sysDate from tbl where sysDate>='2018-03-01 00:00:00' order by sysdate asc limit 0,300000) aa)
AND sysDate <= '2019-08-27 23:59:59' order by sysDate limit 0,10
获取分页总数
一般的分页列表会要求返回记录总条数,这时候不是获取列表数据,不必要关联所有的表。当count百万级的数据时一点关联表就会很慢。解决方法是根据参数动态left join表。
sql分页优化的更多相关文章
- SQL通用优化方案(where优化、索引优化、分页优化、事务优化、临时表优化)
SQL通用优化方案:1. 使用参数化查询:防止SQL注入,预编译SQL命令提高效率2. 去掉不必要的查询和搜索字段:其实在项目的实际应用中,很多查询条件是可有可无的,能从源头上避免的多余功能尽量砍掉, ...
- SQL Server SQL性能优化之--通过拆分SQL提高执行效率,以及性能高低背后的原因
复杂SQL拆分优化 拆分SQL是性能优化一种非常有效的方法之一, 具体就是将复杂的SQL按照一定的逻辑逐步分解成简单的SQL,借助临时表,最后执行一个等价的逻辑,已达到高效执行的目的 一直想写一遍通过 ...
- 【MySQL】分页优化
前段时间由于项目的原因,对一个由于分页而造成性能较差的SQL进行优化,现在将优化过程中学习到关于分页优化的知识跟大家简单分享下. 分页不外乎limit,offset,在这两个关键字中,limit其实不 ...
- 闲谈SQL脚本优化
摘要: 闲来无事,便想寻找大师级别优化SQL脚本案例,也算是读后留点笔记,摘录内容都会链接到所参考网址,如有冒犯,还望博主见谅:有些文章只有多动手多动脑才能理解其中的意思,看了需要实际操作,才不枉大师 ...
- MySQL 百万级分页优化
MySQL 百万级分页优化 http://www.jb51.net/article/31868.htm 一般刚开始学SQL的时候,会这样写 : , ; 但在数据达到百万级的时候,这样写会慢死 : , ...
- MySQL数据库SQL层级优化
本篇主涉及MySQL SQL Statements层面的优化. 首先,推荐一个链接为万物之始:http://dev.mysql.com/doc/refman/5.0/en/optimization.h ...
- [转]关于SQL分页存储过程的分析
[转]关于SQL分页存储过程的分析 建立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用 ...
- [SQL Server优化]善用系统监视器,确定系统瓶颈
原文:[SQL Server优化]善用系统监视器,确定系统瓶颈 来自: http://hi.baidu.com/solorez/blog/item/f82038fa0e71b78d9e51468c.h ...
- 使用Row_Number()分页优化
记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题 最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且 ...
随机推荐
- SpringBoot(十七):SpringBoot2.1.1数据类型转化器Converter
什么场景下需要使用类型化器Converter? springboot2.1.1在做Restful Api开发过程中往往希望接口直接接收date类型参数,但是默认不加设置是不支持的,会抛出异常:系统是希 ...
- CentOS7 增加回环地址
添加回环地址的命令和说明如下: #添加一个回环地址到lo网卡,添加多个可以改lo:后边的序号 [要添加的地址] netmask 255.255.255.255 broadcast [要添加的地址] # ...
- 【JavaScript】JavaScript中的ActiveXObject对象
JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用. 使用方法: newObj = new ActiveXObject( servername.t ...
- CentOS7下NFS服务安装及配置固定端口
CentOS7下NFS服务安装及配置 系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1. ...
- mysql 日期计算集合
#日期计算集合 #select curdate() #本前日期 #,DATE_ADD(`date`,interval day) /*本月前一天(昨天)*/ #,DATE_ADD(`date`,inte ...
- Executors创建四种线程池
newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.newFixedThreadPool 创建一个定长线程池,可控制线程 ...
- postman 用环境变量Environment实现多服务器版本
现存问题 在测试API期间,往往存在多种环境,对应IP地址(或域名也不同) 比如: Prod: http://116.62.25.57/ucows 用于开发完成发布到生产环境 Dev: http:// ...
- Nginx请求转发
1.比如说我要将127.0.0.1/topics上的所有请求转发到xxx:xxx/上 修改 sudo vim /etc/nginx/nginx.conf server { listen 80; ser ...
- qt 获取汉字拼音首字母
#include "mainwindow.h"#include "ui_mainwindow.h"#include <QDebug>#include ...
- node excel export包导致find函数被覆盖
这个包确实是巨坑:https://github.com/functionscope/Node-Excel-Export 本来是想用来导出Excel的,没想到把Array的find函数能乱了.这种基础函 ...