一、使用不同:
主键索引是在创建主键时一起创建的,是基于主键约束而建立的,是不可以为空,也不可以重复。
唯一索是引基于唯一约束而建立的,可以为空不可以重复,主键索引本身就具备了唯一索引的功能。
二、作用不同:
唯一索引的作用跟主键的作用一样。不同的是,在一张表里面只能有一个主键,主键不能为空,唯一索引可以有多个,唯一索引可以有一条记录为空,即保证跟别人不一样就行。
比如学生表,在学校里面一般用学号做主键,身份z则弄成唯一索引;而到了教育局,他们就把身份z号弄成主键,学号换成了唯一索引。
三、定义不同:
普通索引:这是最基本的索引类型,而且它没有唯一性之类的限制。
唯一性索引:这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。
扩展资料:
要对一个表建立唯一索引,可以使用关键字UNIQUE。对聚簇索引和非聚簇索引都可以使用这个关键字。
例子
CREATE UNIQUE CLUSTERED INDEX myclumn_cindex ON mytable(mycolumn)
其中:CLUSTERED INDEX是用来建立聚簇索引的关键字,此语句的意思是在表mytable上的mycolumn字段上创建一个名为myclumn_cindex的聚簇索引,且为唯一索引。
参考资料来源:百度百科-唯一索引
谈点我的看法分区表:可以想象为磁盘的多个分区一样,可以减少全盘扫描的可能。直接定位到某个分区表上
类似要在电脑上找文件,直接到c盘,防止在D
E
F盘扫描一样,从而减少io压力,提升性能。在查询上分区表表现还不是十分突出,但是删除,作数据迁移的时候就很明显了。
索引:索引在查询上可以快速定位符合要求的纪录,查询通过索引,也可以防止全表扫描,类似直接定位excel里面的行号一样。但是索引维护对insert
update影响必须要考虑到
简单点理解2者区别,从数据库角度来看,分区表更侧向于片状范围划定,索引更趋向于线性定位
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)