MySql分表,大公司是怎么做的,怎么做到的高效,分表联表查询怎么办?

现在我有两张表

一张用户表,uid,username,pwd,email.....等字段和

一张文章表,aid,subject,content,time,uid.....等字段

取得文章最新的前20条数据包含字段有:uid,username,email,aid,subject,content,time

现在有这么几个问题:

1、下面这两种方式那个快?我认为是第二种

第一种:php得到数据后,直接循环,每次取出uid,再去查询用户表信息

第二种:直接左外联查询

2、分表的情况下,如何联表查询

假如用户表分了5张表,user1,user2,user3,user4,user5,假如每张表有10万的用户数据,如果再使用链表查询,应该怎么做才最快,假如说最新的文章20篇,前10篇的作者信息在user1,后10篇的作者信息在user4,应该怎么链表查询呢?当然,文章的作者信息在那张表事先是不知道的,主要根据每篇文章的uid记录获取。

阅读 5.7k
2 个回答

假如用户表分了5张表,user1,user2,user3,user4,user5,假如每张表有10万的用户数据,如果再使用链表查询,应该怎么做才最快,假如说最新的文章20篇,前10篇的作者信息在user1,后10篇的作者信息在user4,应该怎么链表查询呢?当然,文章的作者信息在那张表事先是不知道的,主要根据每篇文章的uid记录获取。

——————————————————————

在不知道最新的20篇文章是谁发的情况下,在这么多分表中取出来

我的思路是这样的:

user表连表到文章表 -然后循环查询 按发布时间查询 user[1-5] 的每个表中各最新发的前10篇文章,
然后数组中有50篇文章, 然后根据这50篇文章的时间然后再排序取出20章最新的。
  • 考虑各表取出多少篇文章,适实际情况而定
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题