首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql快速选择

Mysql快速选择
EN

Stack Overflow用户
提问于 2013-10-25 15:33:19
回答 1查看 47关注 0票数 0

当我在一个表(Mysql)中有超过1,000,00~5,000,000,00个数据时,谁会有一些快速登录和其他操作的好主意?

表:UserInfo(大于1,000,00~500,000,00用户)

代码语言:javascript
复制
UserID(PK int) LoginName(UK varchar(50)) LoginPassword LastLoginTime

表:LoginLog

代码语言:javascript
复制
LogID(PK) UserID(FK) LoginTime LoginIp

表3:其他

代码语言:javascript
复制
OtherID(PK) UserID(FK) Others...

在使用登录时我使用的是sql (它可以很快):

代码语言:javascript
复制
select LoginPassword from UserInfo where LoginName = 'string'

当我显示LoginLog或其他表时,我将使用SQL:

代码语言:javascript
复制
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?

谁有更好的解决方案,拆分表规则,分区规则?

EN

回答 1

Stack Overflow用户

发布于 2013-10-25 15:43:19

您可以每隔30分钟左右运行一次cron来反规范化数据,这样就不会有表连接。http://en.wikipedia.org/wiki/Denormalization

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19583795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档