데이터 불일치 문제를 파악하려고 하고 있습니다. Data Explorer 플러그인을 사용해 가장 자주 게시물을 작성하는 사용자들의 통계를 조회하고 있었는데, 다음 쿼리를 사용했습니다:
select u.username, us.post_count
from users u
join user_stats us
on u.id = us.user_id
order by us.post_count desc
이 쿼리는 특정 사용자의 경우 100개의 게시물을 반환했습니다. 그러다 쿼리를 조금 다르게 다시 작성해 보았습니다:
select u.username, count(distinct p.id)
from users u
join posts p
on u.id = p.user_id
group by u.username
order by count(distinct p.id) desc
이 쿼리는 해당 사용자의 경우 135개의 게시물을 반환했습니다. 이는 user_stats 테이블의 post_count 필드에 의존하는 대신 posts 테이블의 모든 게시물을 실제로 카운팅하기 때문에 정확한 수치로 보입니다.
따라서 여기서 불일치가 발생하는 이유를 이해하려고 합니다. 이 사용자는 관리자도 모더레이터도 아니므로, 게시물로 표시되는 관리자 작업이 많지 않습니다. 이런 일이 발생하는 이유에 대해 어떤 아이디어가 있을까요?