索引的概念:
可以比喻为图书的目录,大量数据时才有意义,定义在字段列中。实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
索引的作用:
提升查询效率,降低增删改效率,所以并不是索引越多越好。一般最少 10W 数据,通常 20W 以上。
约束:
是关系数据库中的对象,用来存放插入到一个表中一列数据的规则,用来确保数据的准确性和一致性。UNIQUE 约束唯一标识数据库表中的每条记录。UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 拥有自动定义的 UNIQUE 约束。请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
注意:
索引是在存储引擎中实现的,也就是说不同的存储引擎,会使用不同的索引:
- MyISAM和InnoDB存储引擎:只支持BTREE索引, 也就是说默认使用BTREE,不能够更换。
- MEMORY/HEAP存储引擎:支持HASH和BTREE索引。<