您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

分表之后,按照时间排序获得数据有没有好的方式

2024/4/4 23:07:40发布10次查看
有三张表:
用户表:user-------------------user_id
文章表:article----------------article_id,user_id;
评论表:article_comment----comment_id,article_id
user表对article_comment表是一对多对多的关系。
现在对article_comment进行分表,按照article_id%6分为article_comment_0/1/2/3/4/5六张表,
现在需要根据评论的时间来展示某一个用户的所有文章的评论,sql该怎么写呢?
回复内容: 有三张表:
用户表:user-------------------user_id
文章表:article----------------article_id,user_id;
评论表:article_comment----comment_id,article_id
user表对article_comment表是一对多对多的关系。
现在对article_comment进行分表,按照article_id%6分为article_comment_0/1/2/3/4/5六张表,
现在需要根据评论的时间来展示某一个用户的所有文章的评论,sql该怎么写呢?
select * from((select * from article_comment_0 inner join article on article_comment_0.article_id=article.article_id where article.user_id='userid') union(select * from article_comment_1 inner join article on article_comment_1.article_id=article.article_id where article.user_id='userid') union(select * from article_comment_2 inner join article on article_comment_2.article_id=article.article_id where article.user_id='userid') union(select * from article_comment_3 inner join article on article_comment_3.article_id=article.article_id where article.user_id='userid') union(select * from article_comment_4 inner join article on article_comment_4.article_id=article.article_id where article.user_id='userid') union(select * from article_comment_5 inner join article on article_comment_5.article_id=article.article_id where article.user_id='userid')) resorder by res.comment_createtime desc
你的表这样子设计就要每次都去联结article查询,所以建议在common表中冗余一个user_id字段,这样查询就不用多一步操作
能不分表就不分表,分表会给开发带来很大麻烦,你可以用分区,mysql不太懂,但是我搜到这个:
http://dev.mysql.com/doc/refm...
应该按照你查询条件进行分表,不然没有好办法
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product