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

1 使用拉链式解决

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

2 使用有序的数组解决

MySQL索引使用场景

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

相关文章:

  • 2021-09-21
  • 2021-07-25
  • 2022-12-23
  • 2021-07-17
  • 2021-11-29
  • 2021-12-03
  • 2022-01-23
猜你喜欢
  • 2022-02-09
  • 2022-12-23
  • 2022-02-13
  • 2021-08-29
  • 2021-07-19
  • 2021-08-27
相关资源
相似解决方案