그건 저도 정확히는 모르겠습니다.
현재 여기 게시판들은 모두 primary key 는 지정되어 있으며 모두 게시물이 많지는 않지만 적당한 수 만큼은 있습니다. 하지만 DB 크기는 불과 로그를 합쳐서 약 20메가 정도 입니다.
대부분은 로그가 차지하고 있습니다. 로그가 약 7만건 정도의 디비건수가 기록되어 있으니까요. 하지만 그렇게 많이 느리지는 않습니다.
지금 두분의 말씀을 들어 보면 인덱스 생성 부분에 문제가 있는 것으로 봐지는 군요.
한번 자료를 찾아 봐야 할 것 같군요.
> 적수네 홈페이지에 있는 적수 게시판 포스트그레스 버전을 사용중인데요..
> 게시판의 글 수가 1000여개 정도밖에 안되는데 게시판 로딩 속도가 5초 이
> 상으로 상당히 느려서 용량을 살펴보았더니 60메가가 넘어가더군요. 그래서
> vacuum verbose analyze 을 실행해 주어서 2메가 이하로 줄였습니다. 물론
> 로딩 속도가 많이 향상되었죠.
> 그런데 문제는 2~3일 지나면 또 다시 15메가 이상으로 용량이 상당히 커집
> 니다. 하루에 올라오는 게시물 수는 대략 10~20개 정도이고 방문자 수는 100
> ~200 정도입니다. 이렇게 되면 하루에 한번씩 vacuum을 실행해 주어야 한
> 다는 이야기인데.. 원래 이런지 궁금합니다.
> 그리고 밑에도 써 놓았지만 인덱스 파일 크기도 상당히 커져서 인덱스라고
> 보기가 힘들 정도입니다. 이것도 간간히 drop한 다음 새로 생성시켜 주어
> 야 하나요?
> 테이블은 다음 명령으로 생성시켰습니다.
>
> CREATE TABLE advice (
> no1 SERIAL,
> num int4 DEFAULT 0 NOT NULL,
> day datetime NOT NULL,
> host varchar(100),
> name varchar(50),
> passwd varchar(13),
> email varchar(100),
> url varchar(150),
> title varchar(150),
> text text,
> refer int4 DEFAULT 0 NOT NULL,
> reyn int2 DEFAULT 0 NOT NULL,
> reno int4 DEFAULT 0 NOT NULL,
> rede int4 DEFAULT 0 NOT NULL,
> reto int4 DEFAULT 0 NOT NULL,
> f_new bool DEFAULT 'f',
> f_hot bool DEFAULT 'f'
> );
>
> CREATE INDEX advice_num_index ON advice(num);
> CREATE INDEX advice_day_index ON advice(day);
> CREATE INDEX advice_reno_index ON advice(reno);
>
>
|