InnoDB;
insert into t(id, name, k) values
(1, 'Java', 100),
(2, 'Python', 200),
(3, 'Go', 300),
(5, 'MySQL...普通索引,查找到(500,5)这条记录后,还需要查找下一个记录,直到碰到第一个不满足k=500条件的记录
唯一索引,由于索引具有唯一性,所以查找到第一个满足条件的记录后就会停止继续检索
唯一索引带来的查询性能提升几乎微乎其微...,因为InnoDB的数据是按照数据页为单位进行读取,当我们select一条记录时,不是将该记录从磁盘读出,而是以页(InnoDB中,每个数据页默认是16KB)为单位从磁盘中读入内存。...唯一索引和普通索引的插入
假设我们在表中需要插入一条新的数据(4, 'Flink', 400),InnoDB对于唯一索引和普通索引的处理有些区别:
假设记录要更新的目标页在内存中,处理流程如下:
如果是唯一索引...唯一索引和普通索引
唯一索引和普通索引在查询性能上基本没有差别,但在更新上普通索引会快于唯一索引。所以在可以选择普通索引的前提下尽可能选择普通索引。