mysql,json数据类型,高效查询

时间:2017-06-02 14:44:30

标签: mysql json

我正在制作一个简单的社交媒体应用。我正在存储与json字段类型中的帖子相关的所有注释和喜欢,这样我只需要执行单个查找来获取它们(我的数据库是关系的,否则)。

我正在考虑一个“新闻源”页面加载时间,它一次抓取25个帖子。如果在将来,如果某个帖子有数百或数千条评论,其中一些评论相当长,则可能需要从数据库中获取大量数据,特别是如果这些帖子中有几种。< / p>

从本质上讲,我在第一次加载时需要知道的最多的是:喜欢的总数,评论的总数,喜欢它的一个用户以及评论的一个用户。如果他们想要更多,我可以稍后使用ajax调用查询其余内容。

存储json数据的我的字段(post_interactions)如下所示:

{"likes": ["bob", "james"], "comments": ["one", "two", "three"]}

我怎么想我想要查询:

SELECT
    user,
    id,
    created_at,
    post_interactions->"$.likes[0]",
    post_interactions->"$.comments[0]",
    JSON_LENGTH(post_interactions->"$.likes") AS LikeCount,
    JSON_LENGTH(post_interactions->"$.comments") AS CommentCount
FROM user_posts
WHERE id = "id"

我想知道这个查询是否是大规模有效的,或者是否有更好的方法来解决这个问题(我使用json字段类型的事实已经设置,只是更好的方法来处理它鉴于这一事实)。

感谢您的帮助!

0 个答案:

没有答案