返回顶部
首页 > 资讯 > 数据库 >MySQL 默认排序是什么
  • 494
分享到

MySQL 默认排序是什么

MySQL默认排序是什么 2021-03-29 20:03:08 494人浏览 无得
摘要

Mysql 默认排序是什么 最近在优化分页查询时,有一个问题:查询不同列,分页出来得数据不一样。先看一下这个现象 表结构: CREATE TABLE `t_attach` ( `id` int(1

MySQL 默认排序是什么

Mysql 默认排序是什么

最近在优化分页查询时,有一个问题:查询不同列,分页出来得数据不一样。先看一下这个现象

表结构:

CREATE TABLE `t_attach` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `fname` varchar(100) NOT NULL DEFAULT "",
  `ftype` varchar(50) DEFAULT "",
  `fkey` text NOT NULL,
  `authorId` int(10) DEFAULT NULL,
  `created` int(10) NOT NULL,
  `hash` varchar(255) DEFAULT NULL,
  `WEB_url` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `fname` (`fname`) USING BTREE,
  KEY `created` (`created`) USING BTREE,
  KEY `web_url` (`web_url`) USING BTREE,
  KEY `authorId` (`authorId`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=323466 DEFAULT CHARSET=utf8;

这里面,有几个列建立了索引

看一下查询语句

 

 SELECT  * FROM  t_attach LIMIT 10,10;    
 SELECT id,fname FROM t_attach   LIMIT 10,10;
 SELECT id FROM  t_attach    LIMIT 10,10

 

 

 

 

 

 

 

 

 好奇怪,居然查询到的数据不是一致的。想了好久,应该是mysql排序的方式不一致导致的。

接着执行了一下EXPLaiN 分析一下看看

 EXPLAIN SELECT  * FROM  t_attach LIMIT 10,10;    
 EXPLAIN SELECT id,fname FROM t_attach   LIMIT 10,10;
 EXPLAIN SELECT id FROM  t_attach    LIMIT 10,10

 

 

 ②

 

 

 居然用到的key不一样,类似的情况也可以看下

Mysql 默认排序真的是按主键来排序的吗

可以看出,mysql在不给定order by条件的时候,得到的数据结果的顺序是跟查询列有关的。

因为在不同的查询列的时候,可能会使用到不同的索引条件。

Mysql在使用不同索引的时候,得到的数据顺序是不一样的。

这个可能就跟Mysql的索引建立机制,以及索引的使用有关了。

可以参考这个看看。

SQL 语句的查询结果的的顺序是由哪些因素决定?

为了避免这种情况,在以后的项目中,切记要加上order by

 

 

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 默认排序是什么

本文链接: https://lsjlt.com/news/6552.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL 默认排序是什么
    MySQL 默认排序是什么 最近在优化分页查询时,有一个问题:查询不同列,分页出来得数据不一样。先看一下这个现象 表结构: CREATE TABLE `t_attach` ( `id` int(1...
    99+
    2021-03-29
    MySQL 默认排序是什么
  • MySQL 表中的默认排序顺序是什么?
    MySQL 表中的默认排序顺序是升序。每当我们使用 ORDER BY 子句对表中的行进行排序时,MySQL 都会按升序给出输出,最小值在前。考虑以下来自名为“student”的表的示例 -mysql> Select * fr...
    99+
    2023-10-22
  • oracle数据库默认排序规则是什么
    Oracle数据库默认排序规则是二进制排序规则(Binary Sorting Rule),也称为字典排序(Dictionary So...
    99+
    2023-09-11
    oracle数据库
  • 基于mysql 默认排序规则的坑
    mysql默认varchar类型是对大小写不敏感(不区分),如果想要mysql区分大小写需要设置排序规则: utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。 utf8_genera_ci不区分大小...
    99+
    2022-05-26
    mysql 默认排序规则
  • mysql的默认密码是什么
    mysql 的默认密码根据安装选项和版本而异,常见默认密码包括空密码、"root" 和 "mysql"。建议在首次安装后立即更改默认密码,以提高安全性。 MySQL 默认密码 MySQ...
    99+
    2024-08-01
    mysql linux
  • sqlserver默认排序规则怎么修改
    SQL Server默认排序规则是根据数据库的默认排序规则(collation)来进行排序的。如果需要修改默认排序规则,可以通过以下...
    99+
    2024-04-09
    sqlserver
  • 什么是mysql默认随机密码
    下面讲讲关于什么是mysql默认随机密码,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完什么是mysql默认随机密码这篇文章你一定会有所受益。    &nbs...
    99+
    2024-04-02
  • 什么是mysql中列的默认值
    下面讲讲关于什么是mysql中列的默认值,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完什么是mysql中列的默认值这篇文章你一定会有所受益。在 MySQL 中,每个字段定义都包...
    99+
    2024-04-02
  • mysql默认引擎指的是什么
    这篇文章主要介绍“mysql默认引擎指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql默认引擎指的是什么”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • mysql和oracle默认排序的方法-不指定orderby
    目录先说结论1. innoDB引擎1.1 创建表,id类型为字符串1.2 插入数据,并查询1.3 创建表,id字段类型为int1.4 插入数据,并查询1.5 结论2. myISAM引...
    99+
    2024-04-02
  • Redis的默认序列化方式是什么
    Redis默认的序列化方式是使用简单的字符串。Redis存储的数据都是以字符串的形式进行存储的,包括整数、浮点数、字符串等。Redi...
    99+
    2024-04-29
    Redis
  • mysql中的默认值是什么意思
    mysql 中的默认值是当插入操作未指定列值时,数据库自动赋予的预先定义值,用于确保数据一致性、简化数据输入和防止无效/空值。默认值可在创建表或列时通过 default 关键字设置,支持...
    99+
    2024-05-01
    mysql
  • mysql和oracle默认排序的方法 - 不指定order by
    目录先说结论1. innoDB引擎1.1 创建表,id类型为字符串1.2 插入数据,并查询1.3 创建表,id字段类型为int1.4 插入数据,并查询1.5 结论2. myISAM引擎2.1 创建表, id类型为字符串2...
    99+
    2022-07-08
    mysql默认排序 oracle默认排序 orderby
  • MySQL默认隔离级别为什么是RR
    曾多次听到“MySQL为什么选择RR为默认隔离级别”的问题,其实这是个历史遗留问题,当前以及解决,但是MySQL的各个版本沿用了原有习惯。历史版本中的问题是什么,本次就通过简单的测试来说明一下。 1、 准备工作 1.1 部署主从 ...
    99+
    2021-06-05
    MySQL默认隔离级别为什么是RR
  • MySQL默认数据库的作用是什么
    本篇文章为大家展示了MySQL默认数据库的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、mysql库。该库是mysql核心数据库,该库下的表主要存储数...
    99+
    2024-04-02
  • mysql默认事务隔离级别是什么
    MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。本教程操作环境:windows10系统、mysql8.0...
    99+
    2023-08-08
  • mysql默认值设置的方法是什么
    在 MySQL 中设置默认值的方法是在创建表时,在字段定义后使用 DEFAULT 关键字,并指定默认值。例如: CREATE TAB...
    99+
    2024-04-09
    mysql
  • MySQL安装初始化mysql后默认库是什么
    小编给大家分享一下MySQL安装初始化mysql后默认库是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 背景介绍:&nb...
    99+
    2024-04-02
  • 什么是C++默认参数
    本篇内容主要讲解“什么是C++默认参数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是C++默认参数”吧!一、C++ 默认参数通常情况下,函数在调用时,形参从实参那里取得值。对于多次调用同一...
    99+
    2023-06-25
  • HBase默认配置是什么
    小编给大家分享一下HBase默认配置是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!hbase.rootdir这个目录是region server的共享目录,...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作