我在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 中的帖子有两种类型:问题和答案。问题(PostTypeId
在数据库模式中为 1)有标签,但答案(PostTypeId
在数据库模式中为 2)没有标签。答案属于通过ParentId
.
但是上面我的查询效率太低了,我只能得到一些(使用用户ID)帖子的标签。
如何在 SEDE 超时内获取所有用户的帖子标签?