다음 내용은 발췌일 뿐입니다. 주제 테이블과 응답 테이블을 디자인하는 경우 일반적인 접근 방식은 다음과 같습니다.
이런 식으로 주제 목록을 얻을 때 페이징 알고리즘을 사용하여 특정 게시물을 볼 때 주제와 게시물을 지온하는 것도 필요합니다.
이 디자인의 단점은 다음과 같습니다. 1. Topics 테이블은 콘텐츠 콘텐츠를 저장하며, 큰 테이블을 페이징할 때 성능이 매우 느립니다.
2. 게시물 콘텐츠를 표시할 때 성능이 소모되는 조인 작업이 수행됩니다.
Discuz의 접근 방식은 다음과 같습니다.
Topics의 콘텐츠를 게시물로 분할하고 동시에 Topics의 주제 게시물을 게시물에 답변으로 배치하여 위에서 제기한 두 가지 문제를 해결합니다. 이는 더 나은 성능을 대가로 데이터베이스 설계 패러다임을 위반한 전형적인 예입니다.
위 내용은 discuz 친화적 링크의 내용을 포함하여 PHP discuz 테마 테이블과 응답 테이블의 디자인을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.