밑에 글과 관련되서...
지금 가장 큰 문제가, 모든 게시글의 자료가 하나의 테이블에 들어가게 된다는 것.
즉 어떤 게시판이든간에 하나의 테이블에 자료가 모두 들어가서
갈수록 테이블의 덩치가 거대해진다는 문제점이 있다.
엎친데 덮친격으로 게시글을 지워도 테이블에서 자료가 사라지는게 아니라
특정 컬럼값이 Y에서 D로 바뀌는 것 뿐이기 때문에, 결국 테이블의 덩치는 계속 커질 수 밖에 없다는거.
덕분에 쿼리시간이 지나치게 오래 걸리게 되고
그로인해 커넥션풀 점유율이 굉장히 높아져
결국 체계 장애에 까지 이르게 되버린다는 커다란 문제점을 야기한다.
그나마 지워진지 한달 넘은 자료를 어제 테이블에서 다 날리니까
오늘은 좀 원활이 돌아가는 모습을 보이고 있어서 그나마 다행이지만,
이대로 냅두면 결국 이 테이블은 지워지지 않은 글만으로도
장애를 초래할 상황이 올거라고 생각이 되어 현재 "맹렬히" 고민하고 있다.
그나마 떠오른 대안은
1. 테이블을 각 단급별로 쪼갠다.
그래서 테이블이름_단급아이디 식으로 분류한 뒤 해당 단에 소속되는 홈페이지의 글들은 그쪽에 저장되게 한다.
->가장 효율적으로 보이지만 가장 오래걸릴 것 같은 작업.
게시판 4대 기능 다 수정해야되고 DB이전작업(이건 내가 안하겠지만)도 해줘야되고....
그리고 사용빈도가 높은 단도 있지만 사용빈도가 낮은 단도 있기에 단별로 토막내는 것은
테이블만 많아져 더 난해해질 수도 있다는 문제가...
2. 사용빈도가 높은 그룹과 낮은 그룹을 만든 뒤, 서로 섞어 테이블 3~4개로 분류.
그리고 그 테이블 하나당 단 3~4개의 id를 넣고 그 정보를 가지고 있는 테이블을 만들어
작업 시 해당 테이블을 조회하여 그 단의 id에 대항되는 테이블에 자료를 넣기.
->이 방식의 문제는 게시글 관련 작업 전에 select 쿼리를 무조껀 한번 더 날려야한다는 문제가...
........그냥 제대할 때까지 냅둘까...
최근 덧글