mysql试题

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

作者: tsuliuchao   发布时间: 2011-05-15

设计两个表

用户表 (ID主键、姓名、性别、地址、描述、创建时间),并将来的查询创建相关的索引。

然后再创建一个表结构相同的
活跃用户表 (ID主键、姓名、性别、地址、描述、载入时间)

当创建一个新用户时,同时将这个记录复制到 活跃用户表, 可以通过 用户表 触发器来实现。
在使用时,先在 活跃用户表 中进行查找,如果查询不到,则到 用户表 中搜索,搜索到后即复制到 活跃用户表 。

定期(每周或者 每月,甚至每日) 将 活跃用户表 中的记录进行清理,比如 20天未活动的用户从活跃用户表 删除。

作者: ACMAIN_CHM   发布时间: 2011-05-16