저는 ASP.net으로 포럼 사이트를 만들고 DB는 MYSQL입니다.포럼의 스레드와 게시물을 저장하는 하나의 테이블 또는 두 개의 테이블?
모든 사용자가 스레드를 시작할 수 있고 다른 사람들이 응답 할 수 있음을 알고 있습니다.
그래서 여기 구현 된 테이블이 있습니다.
CREATE TABLE `a_post` (
`post_id_pk` int(10) unsigned NOT NULL AUTO_INCREMENT,
`is_thread` tinyint(1) NOT NULL,
`parent_thread_id` int(10) unsigned DEFAULT NULL,
`title` varchar(100) DEFAULT NULL,
`short_description` varchar(200) DEFAULT NULL,
`description` text NOT NULL,
`category_id_fk` tinyint(3) unsigned DEFAULT NULL,
`user_id_fk` int(10) unsigned NOT NULL,
......
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
그래서 하나의 테이블을 사용하여 스레드와 게시물을 모두 저장합니다. 이 접근법은 잘 작동합니다. 일반적으로 스레드 수는 게시물 수보다 적습니다. 아니면 두 테이블을 구현할 수 있습니다. 하나는 스레드를 저장하고 다른 하나는 해당 스레드 ID와 함께 주석을 저장하는 것입니다.
무엇이 최선입니까? 하나의 테이블 또는 두 개의 테이블 관리?
나는 현명한 답변을 원합니다. 포럼 시스템을 수행 한 사람들. 당신은 여기에서 가장 환영합니다.