美文网首页
普通索引和唯一索引

普通索引和唯一索引

作者: bigFaceMm | 来源:发表于2019-10-31 11:12 被阅读0次

查询过程:

查询会把数据从磁盘上读取到内存中,Innodb是按数据页为单位来读写的,每个数据页的大小为16KB;

普通索引较唯一索引多了一次回索引表比较,所以总体对性能影响不大,可以忽略,所以二者在查询上性能差不多

更新过程:

更新会用到一个概念change_buffer

唯一索引:唯一索引需要判断数据页的唯一性,如果需要插入数据的数据页不存在内存中,就要从磁盘中读取,所以数据总会在内从中,不需要使用change_buffer。

普通索引:在内存中存在要插入数据的数据页时,直接更新内存数据,但是如果内存中不存在时,不需要从磁盘中读取数据,更新语句可以直接记录在change_buffer中,等到查询或是后台定时脚本执行merger操作,将数据存储到磁盘中。

结论:

如果MySQL出现内存命中率低的时候,可以考虑是不是使用唯一索引的原因

一般情况下,需要大量写操作的数据库,推荐使用普通索引,唯一索引会增加IO消耗

redolog 主要节省的随机写磁盘的IO消耗,普通索引重要节省的是随机读磁盘的IO消耗

相关文章

  • MySQL 唯一索引和非唯一索引(普通索引)区别

    如果在一个列上同时建唯一索引和普通索引的话,mysql 会自动选择唯一索引唯一索引和普通索引使用的结构都是 B-t...

  • MySQL 索引基本知识

    索引的分类 普通索引和唯一索引普通索引是基本索引类型,可以在列中插入重复值和空值唯一索引,不允许空值和重复值. 单...

  • MYSQL索引

    mysql的4种常用索引类型:唯一索引,主键索引,全文索引,以及普通索引。 普通索引(INDEX):普通索引为索引...

  • MySQL索引及查询优化

    1. 索引及查询优化 索引的类型 Ø普通索引:这是最基本的索引类型,没唯一性之类的限制。 Ø唯一性索引:和普通...

  • 你分得清MySQL普通索引和唯一索引了吗?

    走过路过不要错过 点击蓝字关注我们 0 概念区分 普通索引和唯一索引 普通索引可以重复,唯一索引和主键一样不能重复...

  • 探讨mysql的普通索引和唯一索引

    前言 mysql的唯一索引和普通索引有什么区别,从B+树的查找来讲普通索引比唯一索引多回了一次表(因为唯一索引已经...

  • 2019-12-01

    普通索引和唯一索引,应该怎么选择 普通索引和唯一索引都是使用的结构都是B-tree,执行时间复杂度都是O(log ...

  • MySQL索引简介

    索引的分类 1. 普通索引和唯一索引 普通索引是mysql 中的基本索引类型,允许在自定义索引的列中插入重复值和空...

  • MySQL操作索引

    MySQL操作索引 增加普通索引 增加唯一索引 删除索引

  • 索引类型

    索引类型有: 主键索引; 唯一索引; 普通索引; 全文索引; 多列索引;

网友评论

      本文标题:普通索引和唯一索引

      本文链接:https://www.haomeiwen.com/subject/xtcavctx.html