0

Stack Exchange Data Explorer (SEDE)でクエリを使用しています。

これは私のクエリです:

SELECT A.Id
       , A.PostTypeId
       , A.Title
       , A.Body
       , A.ParentId
       , A.Tags
       , A.CreationDate
FROM   posts A
       LEFT JOIN users U
              ON A.OwnerUserId = U.id
WHERE  U.Id = ##UserId##
       AND A.PostTypeId = 1
UNION
SELECT A.Id
       , A.PostTypeId
       , A.Title
       , A.Body
       , A.ParentId
       , B.Tags
       , A.CreationDate
FROM   posts A
       LEFT JOIN users U
              ON A.OwnerUserId = U.id
       RIGHT JOIN posts B
               ON A.ParentId = B.Id
WHERE  U.Id = ##UserId##
       AND A.PostTypeId = 2

上記のコードでは、Stack Overflow の投稿に質問と回答の 2 つのタイプがあります。質問 (PostTypeIdデータベース スキーマでは 1) にはタグがありますが、回答 (PostTypeIdデータベース スキーマでは 2) にはタグがありません。回答は、 からの質問に属しParentIdます。

しかし、上記のクエリの効率は低すぎます。(ユーザー ID を使用して) 一部の投稿のタグしか取得できません。

SEDE タイムアウト内にすべてのユーザーの投稿のタグを取得するにはどうすればよいですか?

4

1 に答える 1