【发布时间】:2021-04-24 23:51:25
【问题描述】:
我计划在我的一个项目中使用 SQL Server 2019 图形功能。数据方案如下图所示。
给定用户(ID:2356,名称:Mark),我想检索用户的追随者完成的所有帖子和推文,这些帖子和推文按发布时间或推文时的限制/分页时间排序总体结果。
到目前为止,除了进行 2 个单独的查询和手动处理分页之外,我不知道有更好的方法,如果我们将来除了已发布/推文之外添加另一种新的边缘类型,这将使其效率低下且也很麻烦。
有没有更好的方法来解决 SQL Server 图中的此类用例?
SELECT mainUser.*, followingUser.*, followerPost.*
FROM
User mainUser, Follows userFollows, User followingUser, Posted followerPosted, Post followerPost
WHERE
MATCH (mainUser-(userFollows)->followingUser-(followerPosted)->followerPost)
AND
mainUser.id=2356
ORDER BY
followerPosted.posted_on desc
SELECT mainUser.*, followingUser.*, followerTweet.*
FROM
User mainUser, Follows userFollows, User followingUser, Tweeted tweeted, Tweet followerTweet
WHERE
MATCH (mainUser-(userFollows)->followingUser-(tweeted)->followerTweet)
AND
mainUser.id=2356
ORDER BY
tweeted.tweeted_on desc
【问题讨论】:
标签: sql-server graph-databases sql-server-2019 sql-server-graph sql-graph