某大型公司面试题:
先创建一个用户表,包含(ID主键、姓名、性别、地址、描述、创建时间);
假如这张表访问量是亿级别访问,如果经查得知,有90%的用户是不信息不经常变,但是有10%的是活跃用户,如何能是此表达到最优,那么请提出解决方案?

解决方案 »

  1.   

    设计两个表用户表 (ID主键、姓名、性别、地址、描述、创建时间),并将来的查询创建相关的索引。然后再创建一个表结构相同的
    活跃用户表 (ID主键、姓名、性别、地址、描述、载入时间)当创建一个新用户时,同时将这个记录复制到 活跃用户表, 可以通过 用户表 触发器来实现。
    在使用时,先在  活跃用户表 中进行查找,如果查询不到,则到 用户表  中搜索,搜索到后即复制到 活跃用户表 。定期(每周或者 每月,甚至每日) 将 活跃用户表  中的记录进行清理,比如 20天未活动的用户从活跃用户表 删除。
      

  2.   

    这个题目和MEMCACHE有点类似哦。查询过的,放到CACHE里,查询先到CACHE里查,查不到再到数据库里查。