主键和唯一索引的区别
2013-10-22 09:34
232 查看
主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。
唯一性索引列允许空值,而主键列不允许为空值。
主键列在创建时,已经默认为空值 + 唯一索引了。
主键可以被其他表引用为外键,而唯一索引不能。
一个表最多只能创建一个主键,但可以创建多个唯一索引。
主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。
聚簇索引也叫簇类索引,是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。由于聚簇索引的索引页面指针指向数据页面,所以使用聚簇索引查找数据几乎总是比使用非聚簇索引快。每张表只能建一个聚簇索引,并且建聚簇索引需要至少相当该表120%的附加空间,以存放该表的副本和索引中间页
索引优缺点
http://blog.csdn.net/dinglang_2009/article/details/5951428
唯一性索引列允许空值,而主键列不允许为空值。
主键列在创建时,已经默认为空值 + 唯一索引了。
主键可以被其他表引用为外键,而唯一索引不能。
一个表最多只能创建一个主键,但可以创建多个唯一索引。
主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。
聚簇索引也叫簇类索引,是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。由于聚簇索引的索引页面指针指向数据页面,所以使用聚簇索引查找数据几乎总是比使用非聚簇索引快。每张表只能建一个聚簇索引,并且建聚簇索引需要至少相当该表120%的附加空间,以存放该表的副本和索引中间页
CREATE INDEX mycolumn_index ON mytable (myclumn)
DROP INDEX mytable.mycolumn_index
要建立一个聚簇索引,可以使用关键字CLUSTERED。)记住一个表只能有一个聚簇索引。(这里有一个如何对一个表建立聚簇索引的例子: CREATE CLUSTERED INDEX mycolumn_clust_index ON mytable(mycolumn)
索引优缺点
http://blog.csdn.net/dinglang_2009/article/details/5951428
相关文章推荐
- 主键和唯一索引的区别
- 主键索引和唯一索引的区别
- ORACLE中主键约束跟唯一索引的区别
- Mysql主键索引、唯一索引、普通索引、全文索引、组合索引的区别
- 主键和唯一索引的区别
- Mysql索引介绍及常见索引类别(主键索引、唯一索引、普通索引、全文索引、组合索引)的区别
- 简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两个方面)(新浪)
- 主键与唯一索引的区别
- 主键和唯一索引的区别
- 主键,唯一索引,唯一约束三者之间的联系与区别
- 主键和唯一索引的区别(转)
- Oracle主键、唯一键与唯一索引的区别
- Mysql 中的普通索引,主键,唯一索引,全文索引的区别
- Oracle主键约束、唯一键约束、唯一索引的区别
- 主键和唯一索引的区别
- 主键和唯一索引的区别
- 主键与唯一索引的区别
- Oracle主键约束、唯一键约束、唯一索引的区别
- mysql 主键,外键,唯一键,索引的区别
- SQL Server2000主键、唯一索引和聚集索引联系与区别