索引:索引好比是一本书的目录,可以快速的通过页码找到你需要的那一页。惟一地标识一行。
主键:做为数据库表唯一行标识,作为一个可以被外键有效引用的对象。
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引可以大大提高MySQL的检索速度。
数据库有两种查询方式,一个全表扫描,条件匹配。一个是索引。
主键是特殊的索引,主键是索引,索引不一定是主键,索引可以是多列,主键只能是一列。
建立索引后,数据库自动建立索引表,在索引表中只保存了主键和记录号(表中各记录的指针),因此它是独立于数据库的一个表,可以随时创建和删除而不影响主表的结构。
主键就是主索引,一个表中只能有一个,要求对应字段不能有重复值,它不是唯一索引。
索引有很多种,普通索引、唯一索引可以允许字段值重复,候选索引、主索引则不允许字段值重复。
数据库的索引是相对于数据表创建了一个索引表,独立于数据表,里面包含一个指针和一条数据,主要用于检索。底层采用的是二叉树的存储结构!