首页 > 数据库 >MySQL默认情况下的排序方式

MySQL默认情况下的排序方式

时间:2023-08-29 15:14:55浏览次数:49  
标签:school age 默认 索引 字段 MySQL 升序 排序 id

1、问题:

今天在做开发时碰到了一个问题,使用了最简单的sql语句查询,条件中也只有一个条件,语句类似如下:

SELECT * FROM `people` WHERE school_id = '1234';

查询出的结果为3条,本以为应该按照数据库的插入顺序查出来,即按照主键ID的升序排列,但是得出的结果却不是,确实按照了其中一个字段(例:age)的值升序排列,

这就很奇怪了

2、原因:

经过多次验证,发现了个问题,就是school_id字段和age字段其实已经被用来作为唯一索引,

idx_school_id_age: 'school_id','age'

在把索引删除后,查询出的结果就按照了默认的主键ID升序排列,加上这个索引,就按照了age字段升序排列,最后没办法,只能把sql改为:

SELECT * FROM `people` WHERE school_id = '1234' ORDER BY id asc;

标签:school,age,默认,索引,字段,MySQL,升序,排序,id
From: https://www.cnblogs.com/Silentness/p/17664835.html

相关文章

  • 插入排序:直接插入排序、折半插入排序、希尔排序的实现
    直接插入排序定义:直接插入排序是一种最简单的排序方法,其基本操作是将一条记录插入到已排好序的有序表中,从而得到一个新的、记录数量增1的有序表。算法的代码:#include<stdio.h>#include<stdlib.h>voidprint_series(constintseries[],intlen){for(inti=0;......
  • mysql主从搭建(最全最详细)
    1. 下载mysql解压包Mysql newer version:  8.0.33cat/etc/redhat-release  查看centOS版本https://downloads.mysql.com/archives/community/  社区版下载地址根据操作系统版本选择相应版本tar包,目前最新版本是8.0.33 2. 解压配置mysql查看mysql用户组是否......
  • MySQL主从数据恢复
    主要步骤:导出主库数据,恢复到从库,重新开启主从同步。 1.先停止从库从库上执行stopslave; 2 在从库mysqlbin目录下导出主库数据./mysqldump-h192.168.174.201--port=3359-uroot-p'pwd'--default-character-set=UTF8MB4--single-transaction--events--triggers......
  • mysql报错:The last packet successfully received from the server was 51,384,505 mi
    这个报错是MySQL连接超时导致的。当MySQL客户端在一段时间内没有收到来自服务器的数据包时,会触发这个错误。产生这个错误的可能原因有:1.网络问题:可能是网络连接不稳定或延迟过高,导致数据包在传输过程中丢失或延迟。2.MySQL服务器负载过高:如果MySQL服务器负载过高,无法及......
  • Oracle查看占用表空间最大的表(排序)
    selectt.owner,t.segment_name,t.tablespace_name,bytes/1024/1024/1024assizes,q.num_rows,t.segment_type fromdba_segmentst leftjoindba_tablesq   ont.segment_name=q.table_name  andt.owner=q.owner wheret.segment_type='TABLE'  andt.tab......
  • Mysql查询性能优化相关
    慢查询基本原因访问的数据太多分析是否检索了过多的数据。mysql服务器是否在分析大量超过需要的数据。注意事项尽量不用select*分页查询(mysql从设计上让连接和断开连接都是很轻量级的。运行多个小查询不是大问题)缓存效率高减少锁竞争查询的执行基础查询执行......
  • 快排及链表排序
    文章目录一、普通的快排二、链表的创建三、链表的冒泡排序四、链表快排五、链表归并排序一、普通的快排voidQuickSort(vector<int>&vec,intlow,inthigh){ intpivot=vec[low];//选择第一个元素作为枢纽元 //mid总是指向最后一个比枢纽元小的位置,当需要交换元素时,先......
  • mysql索引失效的几种情况
    1.在索引字段上使用函数2.在索引字段上使用运算3.索引字段使用了类型转换,即原本是字符串类型,查询时用的数字类型4.范围条件右边的列索引失效,比如>,<,between等,in不属于范围条件5.!=或者<>索引失效6.isnu11可以使用索引,isnotnu11无法使用索引7.like以通配符号开头索引......
  • Kafka - 为什么 Kafka 不像 MySQL 那样允许追随者副本对外提供读服务?
    几个原因:1,kafka的分区已经让读是从多个broker读从而负载均衡,不是MySQL的主从,压力都在主上;2,kafka保存的数据和数据库的性质有实质的区别就是数据具有消费的概念,是流数据,kafka是消息队列,所以消费需要位移,而数据库是实体数据不存在这个概念,如果从kafka的follower读,消费端offset控制......
  • 快速排序
    快速排序是一种常见的排序算法,它的基本思想是通过分治的策略将一个大问题拆分为若干个小问题,并通过递归求解这些小问题,最终将整个问题排序完成。具体的步骤如下:选择一个基准元素,一般选择第一个元素。将序列中小于等于基准元素的元素移动到基准元素的左边,大于基准元素的元素移......