Home  >  Article  >  Database  >  主键与唯一性索引简析_MySQL

主键与唯一性索引简析_MySQL

WBOY
WBOYOriginal
2016-06-01 13:42:291437browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn