0

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

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 ('')

insert into tblz (code) values ('Y')

insert into tblz (code) values ('Z')

insert into tblz (code) values ('')

然后之后 select * from tblz

这是结果:

+----+------+

| id | code |

+----+------+

| 1 | |

| 4 | |

| 2 | Y |

| 3 | Z |

+----+------+

我的问题是:由于这个问题,主键是否在 MySQL 中自动建立索引?主键是聚簇索引,为什么MySQL由于主键值不安排记录呢?还是仅由于添加了索引而与聚集索引无关地排列记录?

4

1 回答 1

1

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

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

于 2013-10-08T19:58:22.810 回答