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 タイムアウト内にすべてのユーザーの投稿のタグを取得するにはどうすればよいですか?