具体业务是这样的,一个用户表,字段有:
id, name, phone, sex, age……实际业务中,经常根据 id 或 phone 查找,数据量小的时候,单表就ok了,phone建个索引完事。但是用户表越来越大,已经几千万了,考虑到后续的发展,已经按id mod 10,进行了分表操作,
同时加了一个映射表,只有2个字段, phone => id,那么这个映射表,是否有必要分表呢?如果记录表过亿了,会不会存在性能问题?

解决方案 »

  1.   

    前端已经通过Redis做了一级缓存,所以本问题,只是纯粹的想了解下,这个字段很少的表,是否有必要分表?
    不分表的话,单表膨胀是否会存在性能问题?
      

  2.   

    直接分mod100个表
      

  3.   

    我觉得如果一直是需要保留的数据,那么可以用号码段来分表,根据输入的phone号码来判断,需要去哪个表查,对应的数据。如果后面数据量再大了,就根据号码位数再细分。不知道是不是可行
      

  4.   


    如果只是根据phone查,你这个设计当然没问题,
    但是如果根据id来查,怎么知道在哪个表?所以映射表还是需要的