얼마전에 메모리DB처럼 메모리에서 작업을 처리할 수 있는 방법에
대해 검색해보고, 질문도 해서.
많은 것을 알았습니다. 여러분들께 감사드립니다.
그래서, 제 나름대로 2가지 결론을 도출했습니다.
##을 붙인 global 임시테이블(1번)과 PINTABLE을 사용하는 것(2번)이
그것인데요.
데이터는 날아가도 되는 임시성 성격이라 위것 중에 아무것을 써도
상관없는 상황입니다.
그래서 두가지 방안과 위 두개 중 아무것도 하지 않는 방법(3번)으로
테스트를 해봤어요.
insert를 100건, update를 100건, delete를 10건 하는 프로시저를
만들고,
어플리케이션에서 이 프로시저를 call하도록(1분) 했습니다.
< 질문1 >
그런데. PINTABLE 및 아무설정도 하지 않은 경우의 실행건수가
비슷하구요.
임시테이블은 그것보다 50% 정도의 성능향상이 있었습니다.
이유가 무엇인가요?
찾아보니... PINTABLE을 한다고 해서 그 시점에 한꺼번에 메모리에
올라간다는 것은 아니라고 되어 있고... 또 읽을 때 PAGE단위로
읽는다고 되어있던데... 그거 때문인가요? - 제가 영어가 짧아서...
쩝.
< 질문 2 >
그렇다면. 이 PAGE를 관리할 수 있는 방안이 있나요?
< 질문 3 >
그리고 cache의 size에 따라 영향을 미치겠죠? 제 짧은 소견으론
아무래도 메모리 작업이니까요.
그렇다면. cache관련된 내용을 확인하려면 어떤 쪽을 공부해야
할까요?
질문이 너무 이상하더라도... 조금이라도 알려주시면
감사하겠습니다.
^____________________________^
|