MySQL索引使用场景

场景一: 通过身份证来查找用户信息的场景

1 使用拉链式解决
  • 阻塞点: 如果在身份证建立索引,由于身份证长度过长,占空间不建议
  • 使用hash链表解决
    • 每次保存身份证的时候,对身份证进行hash,算出hash值
    • hash值 + 身份证 + userId (冗余字段)保存到中间表中
    • 每次查询的时候,先获取到hash值,通过索引获取少量数据,在遍历身份证拿到正确的数据的userId
      在这里插入图片描述
  • 适用于单一查询
  • 如果要范围查询,需要把范围里面的数据全量扫描
2 使用有序的数组解决

在这里插入图片描述

  • 根据身份证进行有序排序,从小到大
  • 解决了范围查找的问题
  • 但是如果要新增的话,改动量大,需要把后面的数据都要后移
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值