MySQL对接iot平台_Mysql索引

前言

就我个人所知,MySQL目前已经作为绝大数项目的数据库选择。但是经常会需要去处理慢sql导致的各类问题。索引,作为一种常见的处理方式。我们有必要了解下索引的底层是怎么实现的。

思考两个问题:

1.为什么加了索引以后,数据库的查询效率会加快?底层怎么实现的?

2.索引失效的情况有哪些?失效的原因是什么?

简洁描述

索引是快速查找特定列值的行数据的,一种优化查询的数据结构。查找特定列值。例如一条sql里的查询条件是姓名 name = '张三' 。就能查出特定列(姓名列)的特定值(张三)的记录。

另外,它是一种数据结构。那么mysql的数据结构,采用的是B+树。那么,为啥选B+树而不是其他的数据结构。

从数据结构看原理

此处主要讨论下哈希表,平衡二叉树,B树,B+树这4种数据结构,以及为啥选用B+树作为mysql数据库的数据结构。首先看下这四种数据结构示例图。

哈希表

09288efc9289f8f0b0c293d2d21c6410.png

平衡二叉树

efe7a4fcfe9d3c84742cd07c307adbb5.png

B树

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值