mysql优化 主键索引和唯一索引的区别面试题?
主键索引和唯一索引的区别面试题?
主键是一种约束,唯一索引是一个索引。它们本质上是不同的。
创建主键后,它必须包含唯一索引,该索引不一定是主键。
唯一索引列允许空值,但主键列不允许空值。
创建主键列时,默认情况下它已经是空值唯一索引。
主键可以被其他表引用为外键,但唯一索引不能。
一个表最多只能创建一个主键,但可以创建多个唯一索引。主键更适合那些不易更改的唯一标识,如自动递增列、ID号等
数据表中主键是索引么?要不要为主键建索引呢?
为表创建主键后,可以使用toad工具查看表的脚本。
相关主键的代码分为两部分。一种是建立唯一索引,另一种是添加约束。因此,主键是索引和约束的组合。创建唯一索引WWJ.CLMHTEDCTMP_uupk开WWJ.CLMHTEDCTMP(MODULEID,LASTEVENTTIME)表空间WWJNOPARALLELALTER表WWJ.CLMHTEDCTMP ADD(CONSTRAINT CLMHTEDCTMPPK primary key(module,lastventtime)使用索引表空间WWJ
主键和唯一索引的区别:实际上,指定列的索引相当于对指定列进行排序。为什么排序?由于排序有利于对列的查询,可以大大提高查询效率。(所以可能有人认为应该对所有的列进行排序,以提高整个数据库的查询效率?这种想法是错误的,因为建立索引也会消耗系统资源。为每个表中的每一列建立索引会给系统带来很大的负担,更不用说效率了!)---------简单地说,构建列索引相当于构建列排序。
主键实际上是一个索引,但此索引与常规索引不同。不同之处在于,主键所在列中的每条记录都是唯一的。也就是说,同一条记录不能出现在主键中,同一个表中只能有一个主键。(主键等于索引,索引不等于主键)--简而言之,主键是一个特殊的索引,它的列不能有相同的记录,这个索引在表中只能出现一次
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。