1
cvl 2020-05-26 14:49:39 +08:00
想一下一本书,目录得作用
|
2
lkyier 2020-05-26 15:24:17 +08:00
数据库底层存储的大多是 tuple (元组),对于 where 子句,需要遍历每一个元组来寻找数据,而建立索引就是为了减少遍历带来的性能损失。你可以搜下这两篇文章:
数据库内核杂谈(二):存储“演化论”, 数据库内核杂谈(三):索引优化, |
3
opengps 2020-05-26 15:43:07 +08:00
索引这个词,想想书的索引就很明确了,书本的索引是对标题进行排序,找的时候可以根据排序规律跳跃快速查找
数据库里也是一样,表的索引就是把某些列按照循序排好,单独找个位置存下,每次更新或者新增时候同时要维护下存储的索引,然后查询时候优先从看看查询条件里,有没有能用到的索引列,然后就“跳跃过去快速找数据” |
4
luckyrayyy 2020-05-26 15:47:50 +08:00 1
不加索引:nickname 就是乱序的,字母 a 后面可能是 z,下一个可能是 d 。你想找 css 得遍历一遍。
加了索引:nickname 是有序的,a 后面 b,b 后面 c,找到 c 再找下一级的 s,岂不是快得多? |
5
daozhihun 2020-05-26 15:51:19 +08:00
mysql 是前缀索引,用 b+数存储,lz 该补补基础了
|
6
zxCoder 2020-05-26 15:54:56 +08:00 1
有索引你就直接跳到 css,没索引你就一行一行看是不是 css
|