mysql无限水平分表之后如何查询一部分数据并分页显示?(php)

图片上传、显示项目

相册表 album (字段:album_id userid title ...)
图片表 photo (字段:photo_id albumid path ...)

一个相册包含多张图片

一天上传的图片比较多,考虑水平分表,而且是无限分表,每次分10张表,数据达到一定量之后继续分表
相册表按照userid来分表,userid取模10,这样就是album_0 album_1 ... album_9
数据达到一定量之后继续分表userid取模20,这样就是alnum_10 album_11 ... album_19
以此类推,可以无限分表
photo表类似按照albumid分表,也是无限分表

现在的问题是无限分表后怎么查询某个用户的相册,比如userid=123456这个用户的相册,他的相册可能在不同的数据表中,怎么查询出来,分页显示?
循环查询album_0 album_1 ... album_9 alnum_10 album_11 ... album_19...
效率太低,估计不行


婷婷同学_
浏览 1640回答 2
2回答

ITMISS

你的分表原则很不对,在分表后,你的用户id始终不在同一个表中.这个就导致你的数据如果一旦增多就需要跨表查询.对于分页来说更是难上加难.对于你的数据归档来说,非常不好处理.建议设置好你分表的基数.如果说10个太小了,建议就从100开始.这样数据限制数就可以更大.尽可能不要使用无限分表.

ibeautiful

你都按照用户ID多相册做了拆分了,如果按照用户ID取模计算,同一个用户的相册怎么就会存到不同的表中呢????
打开App,查看更多内容
随时随地看视频慕课网APP