日期:2014-05-18  浏览次数:20404 次

记录数极多,而每条记录的信息量极少的数据库表该怎样重新设计?
是用来做投票的,对一个条目每个用户都只能投一次票
本来可以设计一个表,有两个字段:itemId和userId,来存储用户的投票信息
但是如果有1万用户,每个用户投票100次,那这个表就会有100万的记录
这样越到后来,查询数据耗费的时间就会越长
请问,这样的情况数据库该怎样设计?

------解决方案--------------------
用事务+update 表 的值~~~能满足需要吗?(它不能查询出哪位用户投票情况,只满足总的投票情况)
------解决方案--------------------
如果一定要记录哪个用户投了哪些项目的票,这样的数据量可能无法避免.可以加索引提高查询速度.

------解决方案--------------------
使用分区表,或者建立历史表。
------解决方案--------------------
可以按时间段分表
------解决方案--------------------
在80万记录的表上建了个索引试了一下,不用1秒可查出来.
字段40个左右.

楼上说将数据分开存,这样仍不可避免将多表联合查询.
------解决方案--------------------
如果你只查少数几条记录,那么就索引解决。速度不是问题
如果你要整个表做统计,那么内存加大到可以把整个表缓存起来
------解决方案--------------------
建索引吧,我建了一个表,数据上千万时,建索引也能解决,要快一点的把内存加大吧