概述
https://blog.csdn.net/qq_33275924/article/details/80220797
https://www.cnblogs.com/ymj0906/p/4240856.html
索引
是一种特殊的文件
,它们包含着对所有记录的引用指针
。索引可以极大地提高数据查询速度
,但是会降低插入删除更新表的速度
,因为在执行这些操作是,还要操作索引文件用来维护
,所以说索引不是建的越多越好而是要建在合理的字段,比如用户表,可以建在手机号,邮箱号上。
索引的遵循原则
:
1、最左侧原则
,表的最左侧的一列,往往数据不会发生改变,不影响其他列的数据;
2、命名短小原则
,索引命名过长会使索引文件变大
,损耗内存
。
普通索引
:(由关键字KEY或INDEX定义的索引)的唯一任务是
加快对数据的访问速度。普通索引允许被索引的数据列包含重复的值
。如果能确定某个数据列将只包含彼此各不相同的值
,在为这个数据列常创建索引时应该用就用关键字UNIQUE
把他定义成一个唯一索引
。也就是说,唯一索引可以保证数据记录的唯一性
。
唯一索引
:不允许两行具有相同的索引值。
主键
:是一种特殊的唯一索引,一张表中只能定义一个主键索引
,通常有一列或列组合
,用于唯一标识一条记录
,使用关键字PRIMARY KEY
来创建。为表定义一个主键
将自动创建主键索引(聚簇索引)
。当在查询中使用主键索引时,它还允许快速访问数据
。
联合索引
:可以覆盖多个数据列
,像INDEX(columnA, columnB)
索引,这就是联合索引。
主键索引和唯一索引的区别:
(1) 对于主键
/unique constraint , oracle/sql server/mysql等都会自动建立唯一索引
;
(2) 主键不一定只包含一个字段
,所以在主键的其中一个字段
建唯一索引
还是有必要的;
(3) 主键可作外键
,唯一索引不可;
(4) 主键不可为空
,唯一索引可;
(5) 主键可是多个字段的组合
;
(6) 主键与唯一索引不同的是:
a.有not null
属性;
b.每个表只能有一个
。
(7) 主键索引一定是唯一索引, 唯一索引不是主键索引
(8) 主键可以与外键 构成 参照完整性约束
, 防止数据不一致
最后
以上就是故意手链为你收集整理的索引,主键,唯一索引,联合索引的区别的全部内容,希望文章能够帮你解决索引,主键,唯一索引,联合索引的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复