你的分享就是我们的动力 ---﹥

金山面试一枚 数据库

时间:2013-09-24 17:46来源:www.chengxuyuans.com 点击:

金山面试一枚


数据库1中存放着a类数据,数据库2中存放着以天为单位划分的表30张(比如table_20110909,table_20110910,table_20110911),总共是一个月的数据。表1中的a类数据中有一个字段userid来唯一判别用户身份,表2中的30张表(每张表结构相同)也有一个字段userid来唯一识别用户身份。如何判定a类数据库的多少用户在数据库2中出现过? 

看到一个很不错的回复
 

wangkun520
wangkun520
wangkun520
等级:Blank
#30 得分:15回复于: 2012-08-24 10:18:17
这个问题我们也遇到过,我们的解决方法是:建立一张用户表,UserInMonth(userid)表里面只放不重复的用户Id,把(table_20110909,table_20110910,table_20110911)的用户Id放到一张User表里面userid都统一放到这个表里面去。判断的时候select count(1) from user u inner join UserInMonth um on u.userid=um.userid.至于数据可以用存储过程,或者一些数据仓库的用具。
另外说一点,把表拆分的每日一张表,就是因为数据量比较大。。。我以前做一个GPS项目的时候,也是这么做的,每天一张表,一张表5G左右的数据。我们是把原始数据和计算过的业务数据分离的思路来实现的。

 

转载注明地址:http://www.chengxuyuans.com/Workplacelift/JobRaiders/67341.html