首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

面试题:一张表中数据过多,怎么提高查询效率

2013-03-04 
面试题:一张表中数据过多,如何提高查询效率?最近面试有被问到过这个问题,一张表中数据过多(用户表中有几千

面试题:一张表中数据过多,如何提高查询效率?
最近面试有被问到过这个问题,一张表中数据过多(用户表中有几千万个用户),如何提高登录的查询效率?

要求:忽略建立索引的方案

求解答
[解决办法]
1、分库分表是之前用的比较多的方案
2、建数据仓库
[解决办法]
表分区, 这种场景,按用户名规则分区
[解决办法]
表分区  最起码得分页吧   分页查询  具体你也可以在查询语句中做点优化
[解决办法]
最简单的就是分表,跟据用户的id,放到不同的表里面。
mysql一般一个表500万没问题,5000万的话,放到10个表里面就ok了。

[解决办法]
做一些类似缓存的表,比如 10天内登录的用户存储进去 ,优先查询这种缓存表,查不到再去主表查询
[解决办法]
具有用户表的外键 利用外键可以快速的比对主表的数据 作为临时修改的验证参考 保证登录的正确性
[解决办法]
还是分表吧,那样最简单

热点排行