这个问题很刁钻! 答案是错的。 的确在mysql数据库innodb引擎里面,主键的确就是聚集索引。 但是myisam引擎里面主键也不是聚集索引。 另外在sql server中还可以显示的指定聚集索引。 CREATE TABLE student( stud_id INT IDENTITY ...
当我们对一个表建立一个主键时,默认会给该主键列添加一条聚集索引,这是数据库内部自动建立的,唯一性约束也会默认创建一个非聚集索引。 上面我们建立了一个主键id 和唯一性约束的name列,查看表可以看到这时产生了两个索引 聚集索引是一个宝贵的资源,在一些表的中有时我们永远不会用到主键来作为查询条件,或者作为其他表的外键,这时主键的聚集索引 就显得大才小用了,我们希望将聚集索引建立在其他真正需要的字段, ...
2013-06-07 22:06 0 10028 推荐指数:
这个问题很刁钻! 答案是错的。 的确在mysql数据库innodb引擎里面,主键的确就是聚集索引。 但是myisam引擎里面主键也不是聚集索引。 另外在sql server中还可以显示的指定聚集索引。 CREATE TABLE student( stud_id INT IDENTITY ...
前言 最近在一次面试中,讨论了一个这样的问题:主键和索引有什么区别?当时我的回答是这样的:“主键就是加了唯一性约束的聚集索引。” “你确定你所说的是对的?” 面试官反问到。 “应该是对的。” 我不加思索地回答道。 “你回去后研究一下这个问题吧。” 难道我真的错了? 第一次尝试 ...
前言 最近在一次面试中,讨论了一个这样的问题:主键和索引有什么区别?当时我的回答是这样的:“主键就是加了唯一性约束的聚集索引。” “你确定你所说的是对的?” 面试官反问到。 “应该是对的。” 我不加思索地回答道。 “你回去后研究一下这个问题吧。” 难道我真的错了? 第一次尝试 ...
前言 最近在一次面试中,讨论了一个这样的问题:主键和索引有什么区别?当时我的回答是这样的:“主键就是加了唯一性约束的聚集索引。” “你确定你所说的是对的?” 面试官反问到。 “应该是对的。” 我不加思索地回答道。 “你回去后研究一下这个问题吧。” 难道我真的错了? 第一次 ...
在今天的文章里我想谈下SQL Server里非常重要的话题,当人们第一次使用SQL Server时是最会混淆的。即主键约束(Primary Key constraint)和聚集索引(Clustered Index)的区别。 什么是主键(Primary Key) 首先让我们谈下主键约束 ...
关于这几个概念的理解 首先要知道索引是一种数据结构,这个数据结构是由数据库本身来维护的,当删除、插入、更新数据的时候,索引自身的数据结构也在不断维护中。 索引是基于二叉树的结构来维护的,主要是为了快速检索数据 二叉树结构中有叶节点和非叶节点,叶节点就是没有分支的最后节点,顾名思义就像叶子一样 ...
SQLSERVER聚集索引和主键的误区 很多人会把Primary Key和聚集索引搞混起来,或者认为这是同一个东西。这个概念是非常错误的。 主键是一个约束(constraint),他依附在一个索引上,这个索引可以是聚集索引,也可以是非聚集索引。 所以在一个(或一组)字段上有主键 ...
为列创建索引实际上就是为列进行排序,以方便查询.建立一个列的索引,就相当与建立一个列的排序。 主键是唯一的,所以创建了一个主键的同时,也就这个字段创建了一个唯一的索引, 唯一索引实际上就是要求指定的列中所有的数据必须不同。 主键一唯一索引的区别 ...