加入收藏 | 设为首页 | 会员中心 | 我要投稿 徐州站长网 (https://www.0516zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql 里面会自动为没有主键的表创建聚簇索引吗?

发布时间:2023-01-08 16:05:30 所属栏目:MySql教程 来源:网络
导读: 在某个视频里面看到说
如果有主键,会为主键生成聚簇索引;
如果没有主键但有 unique index ,会使用 unique index 作为聚簇索引
如果以上都没有,就会自动用 row id 作为聚簇索引
但是也有

在某个视频里面看到说

如果有主键,会为主键生成聚簇索引;

如果没有主键但有 unique index ,会使用 unique index 作为聚簇索引

如果以上都没有,就会自动用 row id 作为聚簇索引

但是也有完全没有任何索引的表吧?

比如我自己试了下,一个表如果没有主键也没有 unique index ,不会自动用 row id 创建聚簇索引

create table table_without_primary_key(    name varchar(30) not null ,    date datetime not null);insert into table_without_primary_keyvalues ('jack',now());insert into table_without_primary_keyvalues ('alice',now());insert into table_without_primary_keyvalues ('ribbon',now());show index from table_without_primary_key;

结果显示没有任何 indexmysql表索引,并不是自动用 row id 创建了聚簇索引

如果此时为 date 创建一个索引,然后查询所有索引,也没看到有聚簇索引(一个问题是这个索引的叶子结点是什么内容呢?如果没有聚簇索引,那也没法回表查询了)

create index time_indexon table_without_primary_key (date);show index from table_without_primary_key;

+---------------------------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+| Table                     | Non_unique | Key_name   | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |+---------------------------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+| table_without_primary_key |          1 | time_index |            1 | date        | A         |           2 |     NULL |   NULL |      | BTREE      |         |               | YES     | NULL       |+---------------------------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+1 row in set (0.02 sec)

上一篇:AWS 有没有类似腾讯云的 CloudBase下一篇:请问如何通过 Python3 向 MySQL 写入 JSON 数据

(编辑:徐州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!