在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户?

时间:2021-02-27 23:24:37
迅雷部分面试题
1)在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户?
2)用java怎么实现有每天有1亿条记录的DB存储?mysql上亿记录数据量的数据库如何设计? 

各位大虾帮手看看,给出答案

10 个解决方案

#1


这个问题 以我的知识无法解决啊。。

#2


建索引 或者 多建几个表 

#3


把这个任务交给数据库去处理,存储过程之类

#4


引用 2 楼 careers1111 的回复:
建索引 或者 多建几个表

能具体一点么?

#5


1,对userId建立所以索引。
2.使用jdbc的批处理方式,
mysql上亿记录数据量的数据库如何设计:采用分区的方式创建表,并存储,分区后,索引文件也是分区的,每个区有自己独立的索引文件。 
看看这个,里面详细的做了分区与不分区的性能比较: 
http://hi.baidu.com/zhangguanshi/blog/item/9ff5a1eb303927dbd439c925.html

#6


第一个问题肯定是建立索引了, lucene 基于Java的全文索引, 
第二个问题,MySql安装的时候有很多种模式,如果选择不带有事务的模式 效率会高N倍,在做个集群,加个缓冲服务器。

#7


up

#8


我不知道,在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户单单加了索引估计速度也不行吧,


学习了

#9


1天1亿条,每秒钟显然超过了1100条,如果考虑高峰,每秒可能2000条。
使用批处理的缓冲(buffer)显然是必要的,其次,考虑到索引的更新,可能还要依据业务分表甚至分库

#10


建一个顺序散列表就可以啦

#1


这个问题 以我的知识无法解决啊。。

#2


建索引 或者 多建几个表 

#3


把这个任务交给数据库去处理,存储过程之类

#4


引用 2 楼 careers1111 的回复:
建索引 或者 多建几个表

能具体一点么?

#5


1,对userId建立所以索引。
2.使用jdbc的批处理方式,
mysql上亿记录数据量的数据库如何设计:采用分区的方式创建表,并存储,分区后,索引文件也是分区的,每个区有自己独立的索引文件。 
看看这个,里面详细的做了分区与不分区的性能比较: 
http://hi.baidu.com/zhangguanshi/blog/item/9ff5a1eb303927dbd439c925.html

#6


第一个问题肯定是建立索引了, lucene 基于Java的全文索引, 
第二个问题,MySql安装的时候有很多种模式,如果选择不带有事务的模式 效率会高N倍,在做个集群,加个缓冲服务器。

#7


up

#8


我不知道,在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户单单加了索引估计速度也不行吧,


学习了

#9


1天1亿条,每秒钟显然超过了1100条,如果考虑高峰,每秒可能2000条。
使用批处理的缓冲(buffer)显然是必要的,其次,考虑到索引的更新,可能还要依据业务分表甚至分库

#10


建一个顺序散列表就可以啦