안녕하세요.
과거 0~2초 정도 걸리던 쿼리가 테이블 건수가 올라감에 따라(다른 차이점을 아직 찾지 못했습니다.) 10~100배 가량 느려져서 왜 이런현상이 나타나는지
혹시 제가 실수한 부부분이 있다면 어디를 체크해야 할지 궁금해서 글을 올립니다. :)
상태는 아래와 같습니다.
******* 2008년 02 월17일******
1. Table : tb_fileinfo, tb_filesum 각각 약 200만건
2. 쿼리 : select s.seq, s.seq_fileinfo, i.hk_file, i.str_tags, i.str_path, i.cd_fmt, i.str_fmt
from tb_filesum s, tb_fileinfo i
where s.is_filter=\'Y\' and s.is_thumb=\'N\' and s.seq_fileinfo=i.seq and i.cd_fmt=60100 and rownum < 150 : 2.03(sec)
select s.seq, s.seq_fileinfo, i.hk_file, i.str_tags, i.str_path, i.cd_fmt, i.str_fmtfrom tb_filesum s, tb_fileinfo i
where s.is_filter=\'Y\' and s.is_thumb=\'N\' and s.seq_fileinfo=i.seq and i.cd_fmt=35200 and rownum < 300 : 0.55(sec)
select s.seq, s.seq_fileinfo, i.hk_file, i.str_tags, i.str_path, i.cd_fmt, i.str_fmt
from tb_filesum s, tb_fileinfo i
where s.is_filter=\'Y\' and s.is_thumb=\'N\' and s.seq_fileinfo=i.seq and
i.cd_fmt in (60300,60312,60313) and rownum < 300 : 1.42(sec)
******* 2008년 02 월 22일 *******
1. Table : tb_fileinfo, tb_filesum 각각 약 290만건
2. select s.seq, s.seq_fileinfo, i.hk_file, i.str_tags, i.str_path, i.cd_fmt, i.str_fmt
from tb_filesum s, tb_fileinfo i
where s.is_filter=\'Y\' and s.is_thumb=\'N\' and s.seq_fileinfo=i.seq and i.cd_fmt=60100 and rownum < ? : 202.94(sec)
INFO select s.seq, s.seq_fileinfo, i.hk_file, i.str_tags, i.str_path, i.cd_fmt, i.str_fmt
from tb_filesum s, tb_fileinfo i
where s.is_filter=\'Y\' and s.is_thumb=\'N\' and s.seq_fileinfo=i.seq and i.cd_fmt=35200 and rownum < ? : 0.70(sec)
INFO select s.seq, s.seq_fileinfo, i.hk_file, i.str_tags, i.str_path, i.cd_fmt, i.str_fmt
from tb_filesum s, tb_fileinfo i
where s.is_filter=\'Y\' and s.is_thumb=\'N\' and s.seq_fileinfo=i.seq and i.cd_fmt in (60300,60312,60313) and rownum < ? : 27.27(sec)
인덱스는 tb_filesum 에 is_filter, is_thumb 쌍으로 걸었고
tb_fileinfo 에 cd_fmt는 걸지 않았습니다.
시스템 resource상황은 I/O, memory, CPU 사용상태가 17일과 22일 거희 동일합니다.
|