主键和索引的区别
来源:互联网 发布:陶哲轩实分析 知乎 编辑:程序博客网 时间:2024/04/30 01:45
很多文章关于主键和索引没有做太多的比较和详细的讲解比如:php与mysql web开发(第三版)中也就只有不多的几句来说明主键和索引。
其实指定列的索引就相当于对指定的列进行排序,为什么要排序呢?因为排序有利于对该列的查询,可以大大增加查询效率。(那么可能有人认为应该对所有的列排序,这样就可以增加整个数据库的查询效率?这样的想法是错误的,原因是建立索引也是要消耗系统资源的,给每个表里的每个列都建立索引那么将对系统造成极大的负担,那就更别提效率了!)---------简单的说建立一个列的索引,就相当与建立一个列的排序。
主键其实就是一个索引,但是这个索引跟一般的索引有所不同,不同在于主键所在的列里的每一个的记录都是唯一的,也可以说不能在主键里出现相同的记录,在同一个表里只能有一个主键。(主键等于索引,索引不一定等于主键)----------简单的说主键就是所在列不能出现相同记录的特殊索引,而且这个索引只能在表里出现一次。
区别:
1:主键是为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,主键也是一个特殊索引.
2:数据表中只允许有一个主键,但是可以有多个索引.
3.使用主键会数据库会自动创建主索引,也可以在非主键上创建索引,方便查询效率.
4:索引可以提高查询速度,它就相当于字典的目录,可以通过它很快查询到想要的结果,而不需要进行全表扫描.
5:主键索引外索引的值可以为空.
6:主键也可以由多个字段组成,组成复合主键,同时主键肯定也是唯一索引.
7:唯一索引则表示该索引值唯一,可以由一个或几个字段组成,一个表可以有多个唯一索引.
1:主键是为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,主键也是一个特殊索引.
2:数据表中只允许有一个主键,但是可以有多个索引.
3.使用主键会数据库会自动创建主索引,也可以在非主键上创建索引,方便查询效率.
4:索引可以提高查询速度,它就相当于字典的目录,可以通过它很快查询到想要的结果,而不需要进行全表扫描.
5:主键索引外索引的值可以为空.
6:主键也可以由多个字段组成,组成复合主键,同时主键肯定也是唯一索引.
7:唯一索引则表示该索引值唯一,可以由一个或几个字段组成,一个表可以有多个唯一索引.
- 主键和索引的区别
- 主键和索引的区别
- 主键和索引的区别
- 主键和索引的区别
- 主键和索引的区别
- 索引和主键的区别
- 主键和索引的区别
- 主键索引和唯一索引的区别
- 主键索引和唯一索引的区别
- 主键和索引区别
- 主键、外键和索引的区别
- 主键、外键和索引的区别
- 主键和唯一索引的区别
- 主键和唯一索引的区别
- 主键和唯一索引的区别
- 主键和唯一索引的区别
- 主键和唯一索引的区别
- 主键、外键和索引的区别
- double buffing
- SDD
- SharePoint自定义控件(1)
- 巧用img的width和height属性进行缩图,使图片不变形
- M8 中设置文字属性的两种方法对比和分析
- 主键和索引的区别
- js操作select相关方法
- .NET设计模式(2): 工厂方法模式
- 嵌入式GUI及其开发工具——miniGUI和mStudio
- 用C# 语言实现在界面显示圣诞树图形
- 游戏资源
- 自写位图做纹理(原创)
- asp.net中多行文本框高度自适应内容的问题
- Windows 7 Shell 命令大名单