美文网首页
数据库之主健、外健、索引

数据库之主健、外健、索引

作者: Jowney | 来源:发表于2018-11-01 14:56 被阅读14次

1、主键:

若某一个属性组(注意是组)能唯一标识一条记录,该属性组就是一个主键。主键不能重复,且只能有一个,也不允许为空。定义主键主要是为了维护关系数据库的完整性。

2、外键:

外键用于与另一张表的关联,是能确定另一张表记录的字段。外键是另一个表的主键,可以重复,可以有多个,也可以是空值。定义外键主要是为了保持数据的一致性。

3、索引:

索引是对表中一个或多个列的值进行排序的结构。

1) 什么样的列应该被创建为索引列:

① 在经常需要搜索的列上创建索引,可以加快搜索的速度;

② 在作为主键的列上创建索引,强制该列的唯一性;

③ 在经常用在连接的列上创建索引,主要是一些外键,可以加快连接的速度;

④ 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;在经常需要排序的列上创建索引,因为索引已经排序,可以利用索引的排序加快查询;

⑤ 在经常使用在WHERE子句中的列上创建索引,加快条件的判断速度。

2) 不应该创建索引的列的特点:

① 在查询中很少使用的列上不应该创建索引,因为这些列很少使用到,因此有索引或无索引,并不能提高查询速度,相反由于增加了索引,反而降低了系统维护速度,增大了空间需求;

② 在只有很少数据值的列上不应该创建索引,很少数据值的列如性别等,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大,增加索引,并不能明显加快检索速度;

③ 当修改性能远远大于检索性能时,不应该创建索引,因为改性能和检索性能是互相矛盾的,当增加索引时,会提高检索性能,但会降低修改性能,当减少索引时,会提高修改性能,但会降低检索性能。因此,当修改性能远大于检索性能时,不应该创建索引。

4、主键和外键的关系:

外键是另一个表的主键,主键是可以被外键有效引用的对象。若A表中的一个字段,是B表的主键,则它可以是A表的外键。

相关文章

  • 数据库之主健、外健、索引

    1、主键: 若某一个属性组(注意是组)能唯一标识一条记录,该属性组就是一个主键。主键不能重复,且只能有一个,也不允...

  • 索引

    分类 聚集索引(字典按拼音查) 聚集索引(Clustered Index)指数据库表中的数据行的物理顺序按照索引健...

  • 数据库之主键、外键、索引

    读者提问: 想问下数据库中主键[http://mp.weixin.qq.com/s?__biz=Mzg5NDY1M...

  • 鹰 纱窗

    一只健鹰扑楞着翅膀从纱帐外飞过 纱窗动了一下 健鹰又一次从纱帐外飞过 纱窗又动了一下 健鹰再次从纱帐外飞过 这次 ...

  • 知我63

    王阳明:“心外无物。” 马健桐:“我外无物。”

  • 高性能MySQL _第七章_高级特性_分区表_视图_外键_触发器

    MySQL高级特性 主要内容 分区表 视图 外健约束 存储过程 触发器 绑定变量 字符集 全文索引 分布式(XA)...

  • 健健

    健健,妈妈给他起名字的时候,一定是希望他像他的名字一样,健健康康。 可是有些事情可能会事与愿违,这个学期,健健几乎...

  • 索引创建及索引用法

    数据库索引分三种:普通索引(index)、唯一索引(unique)、主键(primary key)、外建索引()、...

  • MYSQL中的普通索引,主健,唯一,全文索引和性能分析

    一、MYSQL中的普通索引,主健,唯一,全文索引区别 PRIMARY 主键。 就是 唯一 且 不能为空。 INDE...

  • 父亲的书法作品

    “积健为雄”一语出自唐代司空图的《二十四诗品》。原文“大用外腓,真体内充。反虚入浑,积健为雄。

网友评论

      本文标题:数据库之主健、外健、索引

      本文链接:https://www.haomeiwen.com/subject/cbxgdftx.html