안녕하십니까. 김정주입니다.
최근들어 자주 질문하게 됩니다.
늘 감사드리고요.
MYSQL 기능에 보면 테이블생성을 할때 메모리에 할 수 있는 기능이 있더라고요.
그 기능이 꼭 필요한 곳이 있거든요.
그래서 PGSQL 에서는 어떻게 그렇게 하는 방법이 없을까 해서 질문 드립니다.
시스템이 꺼지고 나면 사라져도 되는 데이타 입니다.
저도 8.2.4 로 테스트 중입니다.
늘 건강하시고..
하시는 일마다 항상 대박나십시오.
없습니다.
속도에 민감하지 않다면
temp table 이면 어떨까요?
heap 는 아니지만... 연결이 끊기면 자동으로 테이블이 삭제됩니다.
메모리 파일시스템 아마 md 라고 하는것이 있을겁니다.(대부분의 유닉스 및 리눅스에서, 윈도에서는 비슷한 종류의 프로그램을 구해야 하고요) 참고로 FreeBSD에서는 "Memory-Based File System/DISK" 이라고 하네요. 어떤 위치에 DB data file 이 생기게 할지는 지정 가능 하니, md 에 만드시면 될듯하네요^^
아.. 그렇게 하면 되겠네요. 일단 메모리로 가상 디스크를 만드세요. 그리고, 그 파티션에 폴더 하나를 만들고, 그 폴더를 create tablespace 로 지정하고, create temp table .... tablespace ... 형태로 만들면, 의도했던 대로 움직일 것같습니다. 단지 서버가 운영중인 시스템이 리부팅 되었을 경우, 반드시 해당 메모리를 사용하는 가상 디스크가 마운트 되고, 폴더가 만들어져야, 데이터베이스 서버가 정상적으로 가동될 것같습니다. 또한 반드시 create temp table ... 형태로만 만드셔야겠네요. 대현님의 멋진 아이디어 감사합니다.
안녕하십니까. 김정주입니다. 일단 한가지 중요한 부분은 해결을 할 수 있겠되었습니다. 감사드립니다. 임시테이블을 메모리에 올려서 연산하면 일단 디스크보다 빠르니까 많은 시간이 단축 도는것 같습니다.. 확인 해보고 결과 올리겠습니다. 그래도 여전히 한가지 안되는 부분 ㅎㅎ TEMP TABLE 이 아니고 그냥 TABLE 도 메모리 디스크에 오릴수 있으면 여전히 좋겠는데 한번 고민해 봐야 겠습니다. 제가 증권쪽 일을 하는데요... 테스트를 좀 해 볼 필요가 있다고 생각 되어서 도움을 받아 볼까 했습니다. (일단 그냥 TABLE 은 안되더라고요 ㅠㅠ) 건강하시고요.. 테스트 하고 결과나오면 다시 올리 겠습니다.
증권 쪽이면 돈 많겠네요.
그냥 상용 메모리디비 쓰세요.
뭐한다고 사서 고생을
기업내에서 돈 주고 그런 것도 사서 쓰고 해야,
그 업체도 살고, 그 업체 때문에 빌어붙어 있는 사람들도 살고, 그러죠. ^^
가진 쪽에서 많이 써야 가지지 못한 쪽도 숨통이 트인답니다.