드로우홀릭 더베이직
회사에서 access 2016을 사용하고 있습니다
매출거래내역 테이블을 만들고 있는데 저희회사는 1년 거래건수가 9만~10만 레코드가 발생합니다
이 경우 테이블 구성을 "매출내역_2018", "매출내역_2017" 처럼 년도 별로 만드는게 효율적인지 아니면 하나의 테이블 "매출내역" 으로 해도 레코드 수백만건 이상은 충분히 커버가능한지요?
후자로 구성하면 조회 query 만드는게 simple 하긴 한데, 문제는 하나의 테이블에 너무 많은 레코드가 있는 경우 select 나 insert 시에 시간이 너무 오래걸리는게 아닌지요?
access 2016에서 하나의 테이블에 담을 수 있는 적정 레코드 수 (필드는 20개 정도) 는 어느 정도가 reasonable 할까요?
감사합니다.
1년에 10만이라고 하더라도, 10년을 사용해도 100만인데요..
100만 레코드는 대용량이 아닙니다.
일반적으로 대용량 데이터라고 하는 것은 수억건 이상을 말합니다.
물론 액세스에서는 수백만~수천만 정도도 대용량 이기는 합니다.
그러나 10년에 100만이라면 전혀 문제 없습니다.
인덱스라는 구조에 대해서 잘 모르기 때문에 막연히 데이터가 많으면 안되는 것 아닌가 하고 생각하기가 쉽습니다.
그러나 100만 정도라면 인덱스만 잘 부여하면 별 문제가 되지 않습니다.
날짜로 검색을 자주 한다면, 날짜에 인덱스를 부여하십시오.
제품코드로 조인을 자주 한다면 제품코드에 인덱스를 부여하십시오.
이 정도로도 속도 문제는 크지 않을 겁니다.
하나의 테이블에 담을 수 있는 적정 레코드 수를 문의하셨는데, 변수가 너무 많아서 답하기가 어렵습니다.
해당 테이블이 지속적으로 기록만 되고, 수정이 별로 되지 않는다면 많이 담아도 되고요.
해당 테이블을 이용한 쿼리가 복잡하다면, 많이 담는 것이 부담되겠죠.
여러가지 변수가 있습니다.
그때 그때 문제를 해결해 나가야 합니다.
그러나, 10년에 100만 정도라면, 한 테이블로 가는 것이 맞습니다.