gpt4 book ai didi

mysql - 主键和索引在同一个表上

转载 作者:行者123 更新时间:2023-11-29 13:32:14 25 4
gpt4 key购买 nike

我使用此查询创建了一个表:


create table tblz (
id int not null auto_increment primary key,
code varchar(20))

然后我添加了一个索引:

alter table tblz add index codeind (code)

我添加了 4 条记录:


insert into tblz (code) values ('')



<p>insert into tblz (code) values ('Y')</p>

<p>insert into tblz (code) values ('Z')</p>

insert into tblz (code) values ('')

然后之后 select * from tblz :

这是结果:



<p>+----+------+</p>

<p>| id | code |</p>

<p>+----+------+</p>

<p>| 1 | |</p>

<p>| 4 | |</p>

<p>| 2 | Y |</p>

<p>| 3 | Z |</p>

<p>+----+------+</p>

我的问题是:由于这个问题Is the primary key automatically indexed in MySQL?主键是聚集索引,那么为什么MySQL不根据主键值来排列记录呢?还是只根据添加的索引来排列记录,而不管聚集索引?

最佳答案

MySQL says该行结果以“无特定顺序”返回。实际的检索顺序取决于引擎,但不保证任何特定的排序。您需要使用 ORDER BY (警告 - 它可能会很慢,尤其是对于大型结果集)或对检索数据的任何内容进行排序。

PRIMARY KEY 已建立索引。 KEYINDEX 是同义词,尽管没有 PRIMARY INDEX 语法,但创建的任何键都会被索引。

关于mysql - 主键和索引在同一个表上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19256892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com