1、查询:
唯一索引查到满足条件的数据后直接返回
普通索引查到满足条件的数据后会继续匹配下一行是否满足条件
影响:会将数据按页加载到内存中,多匹配一行的开销不大 除非刚好匹配的当前页的最后一条数据,需要继续从磁盘加载下一页
2、写
唯一索引:需要判断是否重复,需要将对应的页从磁盘加载的内存中
普通索引:普通索引使用change buffer(占用buffer pool的空间),直接将更新写入到buffer中,不用读盘
3、change buffer vs redo log
change buffer:更改记录直接写入内存中,不用从内存中取出对应的数据页 降低了随机读的消耗
redo log :更新时直接顺序写入磁盘,避免随机写的性能消耗
4、redo log buffer 会导致mysql 偶尔抖一抖
---redo log 写满后需要flush脏页
--buffer 不足需要flush脏页
原文:https://www.cnblogs.com/man1s/p/11391835.html