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

WBOY
Libérer: 2016-08-10 09:07:19
original
1611 Les gens l'ont consulté

有三张表:

用户表: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该怎么写呢?

<code>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')) res
ORDER BY res.comment_createtime DESC
</code>
Copier après la connexion

你的表这样子设计就要每次都去联结article查询,所以建议在common表中冗余一个user_id字段,这样查询就不用多一步操作

能不分表就不分表,分表会给开发带来很大麻烦,你可以用分区,mysql不太懂,但是我搜到这个:

http://dev.mysql.com/doc/refm...

应该按照你查询条件进行分表,不然没有好办法

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!