Maison  >  Article  >  base de données  >  主键与唯一性索引简析_MySQL

主键与唯一性索引简析_MySQL

WBOY
WBOYoriginal
2016-06-01 13:42:291420parcourir

bitsCN.com
其实指定列的索引就相当于对指定的列进行排序,为什么要排序呢?因为排序有利于对该列的查询,可以大大增加查询效率。(那么可能有人认为应该对所有的列排序,这样就可以增加整个数据库的查询效率?这样的想法是错误的,原因是建立索引也是要消耗系统资源的,给每个表里的每个列都建立索引那么将对系统造成极大的负担,那就更别提效率了!)---------简单的说建立一个列的索引,就相当与建立一个列的排序。 
 主键其实就是一个索引,但是这个索引跟一般的索引有所不同,不同在于主键所在的列里的每一个的记录都是唯一的,也可以说不能在主键里出现相同的记录,在同一个表里只能有一个主键。(主键等于索引,索引不一定等于主键)----------简单的说主键就是所在列不能出现相同记录的特殊索引,而且这个索引只能在表里出现一次。   1.主键一定是唯一性索引,唯一性索引并不一定就是主键;  2.一个表中可以有多个唯一性索引,但只能有一个主键;  3.主键列不允许空值,而唯一性索引列允许空值。  主键在表中有唯一标识的作用,不可重复,不能为空;  当其它表建立外键关联当前表时,只可以关联主键。   唯一索引,确切的说是唯一约束,   create unique index index_id on(id); 是用来限制当前表插入时建立唯一约束的字段不可重复。  一个是做为唯一标识,先唯一后标识;   另一个是插入时做唯一限制。    
   摘自 simonjay2007的专栏 bitsCN.com

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn