You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中Student表能否同时设置ID Primary Index与Name Clustered Index?

问题解答:MySQL表能否同时存在主键索引与Name字段的聚集索引?

假设MySQL数据库中有一张Student表,表结构如下(数据量约百万条):

  • ID (PK)
  • Name
  • Aadhaar_ID
  • Address
  • Admission_year
    请问该表能否同时拥有以下两个索引?
  • ID上的Primary Index
  • Name上的Clustered Index

在MySQL的InnoDB引擎里,一张表只能有一个聚集索引,这是由聚集索引的本质决定的——聚集索引是按照索引键的顺序来物理存储表数据的,一张表的物理存储顺序只能有一套。

InnoDB默认会把主键(也就是这里的ID)作为聚集索引,此时ID上的主键索引就是这张表的聚集索引,数据会按ID的顺序存在磁盘上。

要是你想给Name字段建聚集索引,就会和已有的主键聚集索引冲突,因为表数据不能同时按照ID和Name两种顺序来物理排序。所以这两个索引没法同时存在,只能二选一:要么保留ID作为主键(同时它就是聚集索引),要么把Name设为聚集索引(这时ID只能做成普通的唯一索引,不能再是主键形式的聚集索引)。

内容的提问来源于stack exchange,提问作者Aditya Goel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 23:55:31