定义主键和外键主要是为了维护关系数据库的完整性,总结一下:
1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。

身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。 
2.外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。

比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

索引的作用:
索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容,提高性能(查询速度)。
索引的优缺点?
优点:
1.通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
2.可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
3.可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
4.在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
5.通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

缺点:
1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
2.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚集索引那么需要的空间就会更大。
3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

因为索引非常占内存,所以索引也需要谨慎添加,哪些字段需要索引。

数据库主键和外键的作用以及索引的作用,它的优缺点是什么?相关推荐

  1. 关于数据库主键和外键的作用与区别

    一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键  比如   学生表(学号,姓名,性别,班级)  其中每个学 ...

  2. mysql中主键外键的作用_数据库主键和外键的作用以及索引的作用,它的优缺点是什么?...

    定义主键和外键主要是为了维护关系数据库的完整性,总结一下: 1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄. 身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证 ...

  3. 数据库主键和外键的作用?

    主键保证了数据的唯一性,外键保证了数据的完整性. 主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄. 身份证号 是唯一能确定你这个人的,其他都可能有重复,所以, 身份证号 是主键 ...

  4. (转)关于数据库主键和外键(终于弄懂啦)

    一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键  比如   学生表(学号,姓名,性别,班级)  其中每个学 ...

  5. SQL SERVER 数据库主键和外键的思考

    SQL SERVER 数据库主键和外键的思考 什么是主键: 主键是指表中一个列或者列的组合,其值能够唯一的标识表中的每一个行.这样的一列或者多列成为表的主键,通过它可以强制表的实体完整性.当创建或者更 ...

  6. 关于数据库主键和外键

    一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键  比如   学生表(学号,姓名,性别,班级)  其中每个学 ...

  7. 关于数据库主键和外键,索引

    一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号 ...

  8. 数据库主键、外键和唯一键的区别

    数据库主键.外键和唯一键的区别 现在我们想建立学生表,用来存储,一个系统的登陆信息.建表如下: create table student4 (stu_id int primary key identi ...

  9. 数据库主键与外键的区别

    数据库主键与外键 我们知道,好的数据结构会影响速度,当然,好的数据库表设计会影响数据库操作效率.特别是数据特别多的时候如果表的结构不好的话,操作将会变得特别复杂.其中,主键和外键值得我们去了解. 在开 ...

最新文章

  1. 排序(一)归并、快排、优先队列等(图文具体解释)
  2. CVPR禁令出台:审稿期间禁止主动在社交媒体宣传论文!LeCun:阻碍科学交流,简直疯了...
  3. Spring MVC国际化
  4. mysql的水平分表和垂直分表的区别
  5. 输出空格隔开换行_【前端干货】CSS 的空格处理
  6. 如何在开源社区贡献代码_如何在15分钟内从浏览器获得您的第一个开源贡献
  7. tlplayer for ios V1.0
  8. 关于 ApacheCN 未来发展的思考 2019.5.20
  9. CSS中自适应屏幕分辨率
  10. php机械相关毕业设计,PHP+MySQL毕业设计选题管理系统(含论文)
  11. 基于多时相Landsat影像的树种分类
  12. appium工作原理
  13. Windows11查看处理器以及显卡型号
  14. 计算机用户帐号 MAC地址怎么查,笔记本mac地址查询方法_笔记本电脑的mac地址怎么查-win7之家...
  15. 一年有四季的c语言编程,一年是否有四季?
  16. Pwnable之passcode
  17. 港股常见的宽基指数:恒生指数、H股指数和香港中小指数
  18. 角度单位deg、grad、turn、rad
  19. Java程序是如何运行的
  20. 《 初学 》 html5 制作简单时钟

热门文章

  1. Excel统计单元数据的个数
  2. Vue-Vue.set() 的原理及使用
  3. 网易云音乐背景高斯模糊探索
  4. Photoshop去除水印的方法
  5. 20145202马超《JAVA》预备作业3
  6. Request processing failed; nested exception is java.security.AccessControlException: access deni...
  7. 芯片在电子元件中存储的能量和特性
  8. Java程序打包文件夹目录
  9. pdf转换成ppt转换器转换
  10. 提高独立解决问题的能力