分页方案

详解Mysql解决深分页方案 阅读详情

分页方案

 

下面的存储过程不仅含有分页方案,还会根据页面传来的参数来确定是否进行数据总数统计。

-- 获取指定页的数据

Create PROCEDURE pagination3

@tblName   varchar(255),       -- 表名

@strGetFields varchar(1000) = '*',  -- 需要返回的列

@fldName varchar(255)='',      -- 排序的字段名

@PageSize   int = 10,          -- 页尺寸

@PageIndex  int = 1,           -- 页码

@doCount  bit = 0,   -- 返回记录总数, 非 0 值则返回

@OrderType bit = 0,  -- 设置排序类型, 非 0 值则降序

@strWhere  varchar(1500) = ''  -- 查询条件 (注意: 不要加 where)

AS

declare @strSQL   varchar(5000)       -- 主语句

declare @strTmp   varchar(110)        -- 临时变量

declare @strOrder varchar(400)        -- 排序类型

 

if @doCount != 0

  begin

    if @strWhere !=''

    set @strSQL = "select count(*) as Total from [" + @tblName + "] where "+@strWhere

    else

    set @strSQL = "select count(*) as Total from [" + @tblName + "]"

end 

--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况

else

begin

 

if @OrderType != 0

begin

    set @strTmp = "<(select min"

set @strOrder = " order by [" + @fldName +"] desc"

--如果@OrderType不是0,就执行降序,这句很重要!

end

else

begin

    set @strTmp = ">(select max"

    set @strOrder = " order by [" + @fldName +"] asc"

end

 

if @PageIndex = 1

begin

    if @strWhere != ''  

    set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ "  from [" + @tblName + "] where " + @strWhere + " " + @strOrder

     else

     set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ "  from ["+ @tblName + "] "+ @strOrder

--如果是第一页就执行以上代码,这样会加快执行速度

end

else

begin

--以下代码赋予了@strSQL以真正执行的SQL代码

set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ "  from ["

    + @tblName + "] where [" + @fldName + "]" + @strTmp + "(["+ @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " ["+ @fldName + "] from [" + @tblName + "]" + @strOrder + ") as tblTmp)"+ @strOrder

 

if @strWhere != ''

    set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ "  from ["

        + @tblName + "] where [" + @fldName + "]" + @strTmp + "(["

        + @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " ["

        + @fldName + "] from [" + @tblName + "] where " + @strWhere + " "

        + @strOrder + ") as tblTmp) and " + @strWhere + " " + @strOrder

end

end  

exec (@strSQL)

GO 

Vc出现不能连接到一个或多个 vCenter server 系统:http://vcenter-vx.utibet.edu.cn:443/sdk 问题描述: 解决办法: esxi6.7的bug 第一种通过升级系统来解决问题 第二种是通过删除数据来解决 第一步:进入到esxi的shell 第二步查看其中的服务开启状态 第二步 df -h 第三步 /opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres 第四步 SELECT nspname || '.' || relname AS "relation", pg_size_pretty(pg_total_relation_size(C.oi 阅读详情

相关推荐

如何编写 Skill 实现自动化用例生成

Skill 本质上是一组结构化的指令和工具定义,它告诉 AI 模型在特定场景下应该遵循什么流程、调用哪些工具、输出什么格式的内容。元信息:名称、描述、版本等。指令(Instructions):定义 AI 的行为准则和任务流程。工具(Tools):AI 可以调用的外部能力,如文件读写、代码执行、API 请求等。上下文(Context):预设的输入输出格式或示例。编写一个用于自动生成测试用例的 Skill,核心在于定义清晰的指令流程和输出规范。

Cesare的博客 2691

不知道哪种分页效果更好?一次性教给你四种分页方案!

???? 这是一个或许对你有用的社群???? 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:《项目实战(视频)》:从书中学,往事上“练”《互联网高频面试题》:面朝简历学习,春暖花开《架构 x 系统设计》:摧枯拉朽,掌控面试高频场景题《精进 Java 学习指南》:系统学习,互联网主流技术栈《必读 Java 源码专栏》:知其然,知其所以然????这是一个或许...

芋艿V 607

基于YOLOX与LPRNet的车牌检测与识别系统(Python+UI界面)实战指南

本文详细介绍了如何利用YOLOX目标检测模型与LPRNet车牌识别模型,从零构建一个完整的车牌检测与识别系统。通过解析CCPD数据集、训练深度学习模型,并最终集成到PyQt5开发的图形化UI界面中,提供了一个从数据处理到应用部署的完整实战指南,帮助开发者快速掌握智能交通系统中的关键技术。

weixin_29230901的博客 337

SQL Server下7种“数据分页”方案,全网最全

第三种,先把数据库中的相关数据全部读入“缓存”或第三方工具,再由代码程序对“缓存”或第三方工具中的数据进行读取+分页操作(速度快,简易性差)。这条语句的原理是先查询1-10条记录的ID,然后再查询ID不属于这1-10条记录的ID,并且只需要10条记录,因为每页大小就是10,第一种,把数据库中存放的相关数据,全部读入PHP/Java/C#代码/内存,再由代码对其进行分页操作(速度慢,简易性高)。第二种,直接在数据库中对相关数据进行分页操作,再把分页后的数据输出给代码程序(速度中,简易性中)。

风清扬的专栏 2946

【ComfyUI】Flux 完整版文生图

本文介绍了一个基于Flux Dev的AI文生图全流程工作流,通过整合扩散模型、文本编码器和VAE解码器等核心组件,实现从文本到高清图像的端到端生成。工作流包含模型加载、条件构建、潜空间采样、图像解码和成果保存五个关键环节,支持高分辨率图像的细节还原和艺术风格塑造。应用场景涵盖艺术创作、内容生产、教学演示和科研数据准备等领域,适用于对画质和提示遵循性要求严格的场景。文章还提供了相关开发资源和学习教程链接,帮助用户深入理解AI绘图机制和实际应用。

Mr数据杨 1276

Open Dynamics Engine(ODE)物理引擎教程(1)--下载与安装准备

引言 ODE是一个免费的工业级库,用于模拟关节式刚体动力学,例如地面车辆、腿部生物和虚拟现实环境中的移动对象。它具有快速、灵活、健壮和独立于平台的特点,具有先进的关节、摩擦接触和内置的碰撞检测功能。 项目主页:http://www.ode.org/ 线上手册:http://ode.org/wiki/index.php?title=Manual 本教程为博主亲自亲测过程的总结,转载请注明出处! ...

腿足机器人领域 2216

几种常见的API接口分页方案

列表是互联网产品中很常见的一种内容排列形式,而且列表的数据集往往成千上万,一次性返回全量数据集的场景几乎不存在,所以出现了数据分页的需求。本文将总结常见的列表样式以及接口分页设计相关问题。

程序猿周周的博客 7588

Xilinx平台SRIO介绍(五)示例工程Example Design介绍

理解IP的使用,少不了Example Design的学习。

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 1万+

“跨库分页”的四种方案

最近有用到,所以了解一下分库分页的高效率方案这个文章说的很全又很好,所以忍不住转载一下,原文地址 业界难题-“跨库分页”的四种方案1、互联网很多业务都有分页拉取数据的需求,例如:(1)微信消息过多时,拉取第N页消息(2)京东下单过多时,拉取第N页订单(3)浏览58同城,查看第N页帖子2、这些业务场景对应的消息表,订单表,帖子表分页拉取需求有这样一些特点:(1)有一个业务主键id, 例如msg_id, order_id, tiezi_id(2)分页排序是按照非业务主键id来排序的,业务中经常按照时间time来

卷心菜投手 2166

基于ESP32 蓝牙游戏手柄设计

介绍使用 ESP32 并通过 BLE 通信的 设计手持游戏手柄,包含原理图与代码

DT程序员的博客 2164

【C/C++ 性能优化】提高C++程序的缓存命中率以优化性能

在探讨计算机性能优化的旅程中,我们常常被引导去关注算法的复杂度、代码的优化,或是更高效的数据结构。然而,有一个经常被忽视的角色在幕后默默地影响着程序的运行效率——那就是缓存(Cache)。正如哲学家亨利·戴维·梭罗在《瓦尔登湖》中所说:“细节是造成美丽的源泉”,在软件开发的世界里,对缓存的理解和优化,就是那些决定程序性能优雅与否的细节。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 3734

MySQL深分页和重复分页问题方案

本文总结了MySQL深分页问题的几种优化方案: 子查询优化:通过覆盖索引定位主键ID再关联查询,减少回表操作 游标分页:记录上一页最后位置,适合连续分页但不支持跳页 书签分页:类似游标,适用于非唯一排序字段 范围分页:在已知ID范围时使用BETWEEN替代LIMIT 缓存优化:预生成分页结果或使用Redis缓存 针对重复分页问题,提出了静态分页(创建快照)、游标稳定性(事务隔离)和版本控制分页三种解决方案。此外还建议为排序字段创建复合索引并限制最大分页深度,避免大数据量查询。

2301_81016208的博客 536

SAP 固定资产采购简介

SAP 固定资产采购是指企业通过采购流程获取长期使用并记录为固定资产的物品。固定资产是企业为长期使用而购置的资产,如机器设备、办公设备、建筑物、车辆等,通常这些资产的使用期限较长,并且在资产负债表上记录。在SAP系统中,固定资产采购流程通常与物料管理(MM)模块和固定资产管理(FI-AA)模块相结合。这个过程涉及从需求的提出、采购订单的创建,到货物接收、发票校验和资产激活的多个步骤。

我小时候很黑的博客 1728

如何选择适合你的分页方案

如何选择适合你的分页方案

【可全包】本人程序员,不需要做任何吹嘘,只是实在写点程序,写点文档,熟悉各类主流框架,SSM,SpringBoot,Flask,Djiango,Mysql,Sqlite,VUE,Uniapp等,各类程序设计专家,优质作者 881

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

一次教你 4 种分页方案

使用mysql limit 分页就行了,分页查询用得着四种写法吗?这可能是很多人的想法。的确mysql limit offset是可以胜任分页的,但是另外三种办法在其他场景表现更好。大家最熟悉的就是如下的分页截图,返回总页数、支持页数跳转。

m0_73735578的博客 618

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

mysql深度分页优化方案

深度分页的优化核心在于减少MySQL扫描的数据量,避免全表扫描。通过使用索引、游标分页、延迟关联等技术,可以显著提升分页查询的性能。根据具体的业务场景选择合适的优化方案。延迟关联通过先获取主键,再关联查询实际数据的方式,减少了回表次数和I/O操作,特别适合深度分页场景。通过合理设计索引和查询语句,可以显著提升MySQL分页查询的性能。

C18298182575的博客 1908

ES分页方案简单分析

在Elasticsearch(ES)中,分页是处理大数据集时常见的需求。主要的分页方案包括from+size、Search After和Scroll API。from+size方案简单易用,但在深分页时性能较差,适合小规模数据集。Search After通过利用上一次查询的排序值来实现高效的分页,适合大规模数据集的连续分页,但不支持随机访问。Scroll API则适用于需要遍历整个数据集的场景,如数据导出,但不适合实时交互。在实际应用中,如区块链浏览器,可能需要结合关系型数据库和键值数据库来优化数据存储和查

qq_47464005的博客 643

Java 后端编程中的所有分页方案

分页是后端开发中处理大量数据查询的必备技术,它能有效减轻数据库压力、提高接口响应速度并优化前端展示体验。本文将全面介绍 Java 后端开发中常用的分页方案,包括其实现原理、适用场景及优缺点分析。

m0_57836225的博客 943

MySQL 深分页优化方案

MySQL深分页的优化方案。

有天你会让我妒忌的 1299

pageHelper分页失效解决方案

前言 pageHelper是一款优秀的Mybatis分页插件,在项目中可以非常便利的使用,使开发效率得到很大的提升,但不支持一对多结果映射的分页查询,所以在平时的使用时,对于一对多分页会出现分页错误,这篇文章主要对pageHelper分页错误进行重现以及提出解决方案。 mybatis进行一对多查询时,映射文件(mapper.xml)中的sql语句中使用的左连接,pageHelper会自动对这条左连接sql语句进行select count(0)的处理,并把结果作为分页结构的记录总数,然后自动将lim.

菜鸟阿都 2万+

流式分页方案探索

分页类型首先我们要简单认识下,何谓流式分页。分页一般用于对信息列表进行分段。根据具体功能及交互方式的不同,大致可将分页分为两种类型:传统分页和流式分页。传统分页传统分页多用于 PC 页面,最常见于搜索结果页,如我们常用的搜索引擎 Google:还有百度:在京东的搜索结果页中,也可见传统分页的影子:而在移动端页面中,限制于点击区域的大小,因此较少使用传统分页。结合上述例子,我们可分析出,传统分页有如...

凹凸实验室 611

Spring + MyBatis/MyBatis-Plus 分页方案(limit分页和游标分页)详解

本文详细介绍了Spring Boot与MyBatis/MyBatis-Plus的分页实现方案。主要内容包括: 传统LIMIT/OFFSET分页的三种实现方式 原生SQL手动分页 PageHelper插件方案(推荐) MyBatis-Plus分页插件(推荐) 每种方案都给出了完整的代码示例 游标分页实现 基于ID或时间戳的逐页查询方案 包含请求参数、响应参数、Mapper和Service层的实现代码 版本支持说明 明确标注支持Spring Boot 3.1.x和MyBatis相关组件的版本 文章提供了可立即在

千层冷面的博客 2614

mysql游标分页详解:让分页又快又稳的终极方案

游标分页是一种更高效的分页方式,它通过"记住当前位置"而不是"数页码"来实现分页。就像看书时夹书签一样,游标分页会记住你看到哪里了,下次直接从那里继续。游标分页是处理大数据分页的最佳选择,它解决了传统分页的三个痛点:速度慢、不稳定、资源浪费。选择稳定的游标字段(如ID、时间戳)确保排序规则明确(多字段组合排序)合理设计索引(与ORDER BY保持一致)

hi星尘的博客 1823

分页查询方案总结

分页查询 分页 断页

w727655308的博客 1037

数据分页显示方案

对于分页性能,有一个原则就是页面需要显示多少数据,我们就绐它多少数据。根据这个原则,我们可以绐出三层架构的分页解决方案。 1. 数据层在数据层,运用分页存储过程或分页SQL查询,我们很容易可以在网上找到通用的分页存储过程,当然我们可以根据自己要的性能写出更为高效的存储过程和SQL查询语句。概括起来,总结自定义数据分页在数据层主要包含四种方式:1) 使用临时表――此方法被广泛使用论坛Communit

jerry's blog 1005

分库分表下分页查询解决方案

分库分表下分页查询解决方案 不管是随着业务量的增大、还是随着用户数量的增长,在单一表中无法承受大量大数据,导致查询速度极慢甚至拖垮数据库。所以分库分表的策略随之应用,但是如何在分库分表的情况下,进行分页查询,目前仍是业界难题。 本文记录了三种情况下,对于分库分表下的分页查询优化方案。 1 目前大多数的解决方案 不管是目前的一些数据库中间件例如Mycat,还是ElasticSearch下的分片查......

lvqinglou的博客 3万+
上一篇: 什么是垂直搜索引擎
下一篇: 用户控件使用一例
SmartJavaer
博客等级 码龄21年 13粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值