Linux运维笔记
我们一直在努力

MySQL索引概念和理解

什么是索引:


——–1个user表,表里有多个字段,其中有个name 字段 ,其中名字有 xiaoa xiaob alex bob tom 如果你想查找有关tom的信息,你肯定会select * from user where name=’tom’,不建立索引,他就会先看看xiaoa是不是等于tom,然后再看xiaob是不是等于to,以此类推,直到找到tom = tom 这个时候才返回tom信息给你。至少要走5步。

 

创建索引的好处:


——–如果你把name字段创建索引,他就不会这样找了,它可能直接在alex这个地方找,如果没找到则继续往下找,这个时候找到tom=tom 就返回tom信息。走了3步(我说的是大概) 毫无疑问 肯定比不建立索引快。

 

索引的工作方式:


——–其实创建索引,mysql会做一系列操作,先创建块,然后将name里面的名字 进行排序,至于排序方法我也没深入研究,然后你找tom的时候数据库引擎就能大概定位到t开头字母的位置 然后左右偏移,最后找到对应的值。

 

使用索引的好处:


——–创建索引的坏处就是占空间,但是现在磁盘也不是非常贵了,所以基本上大家也不考虑这个问题了。

 

出处VX:Eason

赞(0) 打赏

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址