Advertisement

MySQL 8.0 的默认排序列为:SELECT 语句中的排序方式

阅读量:

在执行SELECT语句时,若未明确指定ORDER BY条件,MySQL将依据何种规则返回查询结果呢?

是否遵循主键(PK)与唯一索引(UNIQUE INDEX)的排列顺序?

答案未必如此!

实验环境为Windows 10操作系统搭配MySQL 8.0.27版本。

本文仅针对InnoDB存储引擎进行分析,如需了解MyISAM的相关内容,请自行查阅资料

接下来通过一个实际案例进行说明。我们创建一个用于存储省份信息的表(其中省份名称具有唯一性),并插入若干加拿大省份的名称作为测试数据,具体实现代码如下:

复制代码
    USE `test`;
    CREATE TABLE `provinces`(
    `province_id` smallint NOT NULL AUTO_INCREMENT COMMENT '省份id',
    `province_name` varchar(50) NOT NULL COMMENT '省份, 必须唯一',
    PRIMARY KEY(`province_id`)
    ) ENGINE=InnoDB;
    
    -- 添加唯一索引
    ALTER TABLE `provinces`
    ADD UNIQUE INDEX `UK_provinceName`(`province_na

全部评论 (0)

还没有任何评论哟~