首页 > 数据库 >mysql分页后排序失效数据丢失解决方案

mysql分页后排序失效数据丢失解决方案

时间:2023-07-21 09:25:45浏览次数:48  
标签:rows id 索引 mysql 失效 排序 order

mysql使用Limit分页不加索引列会导致数据丢失、重复和索引失效

mysql官网对limit的详细说明及优化建议:https://dev.mysql.com/doc/refman/5.7/en/limit-optimization.html

官网

If multiple rows have identical values in the ORDER BY columns, the server is free to return those rows in any order, and may do so differently depending on the overall execution plan. In other words, the sort order of those rows is nondeterministic with respect to the nonordered columns.

......
If it is important to ensure the same row order with and without LIMIT, include additional columns in the ORDER BY clause to make the order deterministic. For example, if id values are unique, you can make rows for a given category value appear in id order by sorting like this:

官网推荐的 order by 索引列

SELECT id,word,nature,weight,order_num FROM unlp_hot_dictionary ORDER BY order_num, id DESC LIMIT 0,10;

排序介绍

//先根据status升序,然后结束时间降序,id降序;这里的id主键索引可以避免排序失效数据丢失
select id,coupon_id,status,end_time from user_coupon where user_id = '88888888' and discount_coupon_type < 3 and use_scope = 3  order by status asc,end_time,id desc LIMIT 0,10

 

标签:rows,id,索引,mysql,失效,排序,order
From: https://www.cnblogs.com/cgy-home/p/17570344.html

相关文章

  • mysql相关
    字段类型的选择优先级:数字类型》日期、二进制》字符型 相同级别的数据类型,应该选用占用空间小的类型。原因:数据比较,字符类型和当前排序规则相关,数字和二进制不需要。数据处理是以页为单位,innodb中是16K,数据小,容纳的就多,加载的页就少,减少磁盘IO。 实际分析整数类型......
  • windows mysql快速导入数据库文件
    Windows下快速导入MySQL数据库文件在开发和维护项目时,我们通常需要将数据库中的数据导入到本地进行分析和测试。对于MySQL数据库,我们可以通过一些简单的步骤来快速导入数据库文件。在本文中,我们将介绍在Windows环境下如何实现快速导入数据库文件的方法。步骤一:安装MySQL首先,我们......
  • windows mysql 启动日志
    实现"WindowsMySQL启动日志"的步骤下面是实现"WindowsMySQL启动日志"的步骤的表格示例:步骤描述1安装MySQL服务器2配置MySQL服务器启动参数3设置MySQL服务器日志输出4启动MySQL服务器接下来,我们将逐步解释每个步骤应该如何执行。步骤1:安......
  • win10安装mysql exe点击安装
    如何在Win10上安装MySQL1.安装准备在开始安装MySQL之前,我们需要先下载MySQL的安装包。你可以在MySQL官方网站上下载最新的MySQLCommunityServer版本。确保你下载的是适用于Windows操作系统的安装包。2.安装步骤下面是安装MySQL的具体步骤,你可以按照以下表格逐步操作:步......
  • wamp mysql 开远程
    如何实现"wampmysql开远程"一、流程图下面是实现"wampmysql开远程"的流程图:步骤操作1.安装WAMP服务器下载并安装WAMP服务器2.修改MySQL配置打开MySQL配置文件,修改允许远程访问的设置3.配置防火墙在防火墙中添加MySQL的入站规则4.重启WAMP服务器重......
  • 读取MySQL中JSON文本会乱序
    如何读取MySQL中的JSON文本并保持顺序当我们在MySQL数据库中存储JSON文本时,有时候我们可能希望能够读取到与存储时相同的顺序。然而,由于MySQL的JSON类型是无序的,存储和读取时会导致JSON文本的顺序丢失。在本文中,我将向你展示如何通过使用MySQL内置函数和一些额外的代码来解决这个......
  • useradd -r -g mysql mysql
    Linux用户管理命令useradd在Linux系统中,useradd命令用于创建用户账号。useradd命令具有丰富的选项和参数,可以根据不同的需求创建不同类型的用户账号。本文将介绍useradd命令中的常用选项和参数,并以useradd-r-gmysqlmysql为例进行说明。useradd命令的常用选项和参数常用选项......
  • 两个字段相加的值排序 mysql
    实现“两个字段相加的值排序mysql”介绍在MySQL数据库中,我们经常会遇到需要对两个字段相加的值进行排序的需求。这个过程可以通过使用MySQL的ORDERBY语句来实现。在本文中,我将指导你实现这个功能的步骤,并提供相应的代码示例。实现步骤下面是实现“两个字段相加的值排序mysql......
  • 利用mysql存储过程备份数据
    使用MySQL存储过程备份数据的步骤为了实现使用MySQL存储过程备份数据,我们需要完成以下步骤:步骤说明步骤一创建一个存储过程步骤二定义变量和游标步骤三获取需要备份的数据步骤四将备份数据插入到备份表步骤五关闭游标和结束存储过程接下来,我将逐步......
  • 蓝凌OA用的是mySQL
    MySQL简介和应用于蓝凌OA的示例代码1.MySQL简介MySQL是一个开源的关系型数据库管理系统(RDBMS),广泛应用于各种网站和应用程序中。它是最受欢迎的数据库之一,具有以下特点:性能强大:MySQL通过优化查询引擎、索引和缓存等技术提供高效的数据处理能力。可扩展性:MySQL可以轻松......