当我在一个表(Mysql)中有超过1,000,00~5,000,000,00个数据时,谁会有一些快速登录和其他操作的好主意?
表:UserInfo(大于1,000,00~500,000,00用户)
UserID(PK int) LoginName(UK varchar(50)) LoginPassword LastLoginTime表:LoginLog
LogID(PK) UserID(FK) LoginTime LoginIp表3:其他
OtherID(PK) UserID(FK) Others...在使用登录时我使用的是sql (它可以很快):
select LoginPassword from UserInfo where LoginName = 'string'当我显示LoginLog或其他表时,我将使用SQL:
select U.LoginTime,
U.LoginIp,
U.UserID,
L.LoginName
from UserInfo U
left join LoginLog L
on U.UserID=L.UserID
limit 0,10我在UserInfo表中使用了partition by LoginName (可以快速登录),但是关联查询非常慢。
拆分表?分区使用UserID?
谁有更好的解决方案,拆分表规则,分区规则?
发布于 2013-10-25 15:43:19
您可以每隔30分钟左右运行一次cron来反规范化数据,这样就不会有表连接。http://en.wikipedia.org/wiki/Denormalization
https://stackoverflow.com/questions/19583795
复制相似问题