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

WBOY
Lepaskan: 2016-09-21 14:13:09
asal
1371 orang telah melayarinya

现在我有两张表

一张用户表,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记录获取。

回复内容:

现在我有两张表

一张用户表,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记录获取。

  1. 第二种

  2. https://segmentfault.com/q/10...

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!