글이 많다해도 최적화 잘하면 느리거나 하지는않는데
관리측면에서 복잡
그누처럼 게시판마다 테이블 나누는게좋네요
글이 많다해도 최적화 잘하면 느리거나 하지는않는데
관리측면에서 복잡
그누처럼 게시판마다 테이블 나누는게좋네요
테이블을 나누는 게 더 복잡하지 않나요?
예를 들어 메인화면 위젯에서 모든 게시판의 최근 글, 최근 댓글을 모두 모아 보여주기도 하는데
테이블이 각각 따로라면 쿼리가 매우 복잡해지죠.
그누보드처럼 최근글 정보를 다른 테이블에 따로 모아 관리할까요?
최근글이 아니라 다른 조건으로 모든 게시판을 검색하고 싶다면? (예: 타임라인 모듈, 통합검색 모듈)
아예 게시판이 아니라면? (중고장터나 출석부 등의 모듈에서도 문서 테이블을 사용합니다.)
게시판마다 테이블을 따로 쓰면
애드온 같은 데서 XML 쿼리 하나 짜서 모든 게시판에 일괄 적용하기도 힘들어지고...
한다 해도 테이블명이 매번 쿼리에 들어가야 하니 서드파티 자료에서 SQL 인젝션 취약점 생기기 딱 좋고...
게시판을 합치거나 나누려고 하면 수백메가의 데이터를 이리저리 옮겨야 하고... (XE는 module_srl만 변경하면 끝)
몇 개의 게시판을 딱 고정시켜 놓고 그 틀 안에서만 사용하는 정형화된 사이트에서는 관리가 편할 수도 있겠지만
똑같은 스키마의 테이블을 여러 개 만들어 쓴다는 것부터가 DB 정규화 원칙에 어긋나기도 하고요 ㅡ.ㅡ
각 장단점이 있죠.. 무조건 이쪽이 진리! 라고 할 순 없습니다.
자세한 설명은 개발자님께서 해주실겁니다.