Q&A

xe_documents 테이블에서 comment_count 칼럼

2019.07.04 13:52
697
0
CMS/프레임워크 XE 1.x
개발 언어 PHP 7.3

1. SELECT sum(comment_count) FROM `xe_documents`; ( 2440507개 )
2. SELECT COUNT(*) FROM xe_comments ( 2440238개 )

 

문서의 댓글 카운트와 실제 댓글 수가 같지 않은 상황입니다.

 

실제 댓글 수과 comment_count 칼럼 사이에 +269개의 숫자 차이가 발생합니다

 

마이너스가 아닌 플러스인 것을 보아 comment_count 칼럼의 카운트가 잘못된 것 같습니다

 

댓글을 달면 해당 문서의 comment_count 가 다시 카운트 되고 있어, 격차가 조금씩 줄어들긴 하는데

 

sql 명령어로 한번에 해당 칼럼을 업데이트 하는 방법 없을까요?

댓글 2

  • 2019.07.04 14:03 #1239620
    delete from xe_comments where 0 >= (select count(*) as cnt from xe_documents where xe_comments.document_srl = xe_documents.document_srl);

    댓글 똥 삭제하는 이 팁을 적용하고나서 카운터 숫자가 안맞는 듯 합니다
  • 2019.07.04 14:26 #1239628

    XE를 통해 정식으로 삭제하지 않고 xe_comments DB를 임의로 조작했다면 안 맞는 게 당연하지요.

     

    댓글 수가 200만 개가 넘는다면 join 쿼리로 한 방에 업데이트하기는 힘들겠고, 문서 기준으로 루프 돌면서 각각 다시 카운트해야 할 것 같습니다.