1、主键:
若某一个属性组(注意是组)能唯一标识一条记录,该属性组就是一个主键。主键不能重复,且只能有有一个,也不允许为空。定义主键主要是为了维护关系数据库的完整性。
2、外键:
外键用于与另一张表的关联,是能确定另一张表记录的字段。外键是另一个表的主键,可以重复,可以有多个,也可以是空值。定义外键主要是为了保持数据的一致性。
3、索引:
索引是对表中一个或多个列的值进行排序的结构。
1)应该创建索引列的特点:
1~在经常需要检索的列上创建索引,可以加快搜索的速度;
2~在作为主键的列上创建索引,强制该列的唯一性
3~在经常用在连接的列上创建索引,主要是一些外键,可以加快连接的速度;
4~在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;在经常需要排序的列上创建索引,因为索引已经排序,可以利用索引的排序加快查询
5~在经常使用where自居中的列上创建索引,加快条件的判断速度
2)不应该创建索引的列的特点:
1~在查询中很少使用的列上不应该创建索引,因为这些列很少使用到,因此有索引或无索引,并不能提高查询速度,相反由于增加了索引,反而降低了系统维护速度,增大了空间需求;
2~在只有很少数据值的列上不应该创建索引,比如性别等,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大,增加索引,并不能明显加快检索速度;
3~当修改性能远远大雨检索性能时,不应该创建索引,因为性能和检索性能互相矛盾,当增加索引时,会提高检索性能,,但是会降低修改性能,当减少索引时,会提高修改性能,但会降低检索性能,因此,当修改性能大于检索性能时,不应该创建索引。
三、索引的优点:
加快对数据的检索
四、索引的缺点
1、减慢对数据录入的速度