问题1:
现在有这样一些记录:
ID    NAME    STATUS    UPDATE_TIME
1     a            b               ...
2     c            d               ...
...
2     f             g               ...
1     k             j                 ...
1    p            q                ...
...即ID号可能一段时间后会重复,但对应不同的记录,这里不用担心一个ID对应多条记录的冲突,只是想存储这些数据,然后可以比如按照ID查出其对应的时间名称等等。但现在如果存储一个月的数据就有几百万,想做切分表,分成多个表来存储,开始想的是:
表1:存储ID
表2:存储ID和其它所有字段,并且将ID作为外键关联到表1的ID。
这样在检索ID时就可以现在表1中检索,然后再到表2。但有两个问题不太清楚:
1、若检索时间范围,则只能在表2检索,是否会有性能影响?
2、表1和表2的ID都不能作为主键,因为可能有重复的值,这种情况下,用表2的ID座位表1的外键是否合适呢?这种数据库结构的设计以前接触的不多,还请高手指点!谢谢! 
问题2:
有个表:
ID DATE
1 10:10
2 10:15
3 10:50
4 10:05
5 10:10
1 9:45
3 9:50
2 10:00
...然后要做的是在proc中先按照时间顺序排列select出这些记录,然后有5个地址,要求:
1、相同ID的要发到同一个地址
2、尽量保证不同ID平均发到5个地址,例如发送到地址1的有5个ID,发送到地址2的有5个ID,发送到地址3的有5个ID,发送到地址4的有5个ID,发送到地址5的有4个ID。之前我的想法:
1、如果不考虑相同ID必须发到同一个地址,我可以在一个ID发到地址1时加个变量,例如ind=2,这样处理下一个ID时就会进入地址2,在地址2中指定变量ind=3,下一个ID处理时就进入地址3,以此类推。
2、如果相同ID发到同一个地址,可以对ID%5取模,例如模是0的发到地址1,模是1的发到地址2,以此类推。但现在的情况是以上两种的合体,所以思路还不是很清晰,大家讨论下,谢谢高手指点!