table에 자료가 100만건이 있어요...
그런데 select * from tablename하면 자료전체를 읽을때까지
기다려야 합니다. 그후에 list가 되네요...
보통의 경우 buffring만큼 처리하구 또 자료를 받을 수 있다고 생각하는데...
postgresql은 않그런가봐요...
그래서 무슨 설정하는 것이 있는가 해서요...
답변 부탁 드립니다... ^_^
일반적으로 100만건 정도의 대용량 자료를 전체로 보여주는 사태가 발생한다면, PostgreSQL에서는 그리 좋은 성능을 보여주질 못합니다.
일반적으로 그 100만건 자료 가운데 특정 부분을 인덱스를 사용해서 보여주는 방식을 사용하지요.
부득이, 참으로 100만건 자료를 보여줘야할 경우는
declare 명령으로 커서를 정의하고, fetch 명령으로 일정부분씩 가져와서 보여주는 방법을 사용하기도 합니다.
--------
그런데, 이런 질문을 주위에서 받을 때 마다 저는 꼭 다시 물어봅니다.
"도데체 무슨 작업이길래, 100만건을 모두 보여주어야하는가?" 라고.
별로 오래되지 않은 경험이지만, 지금까지 rdbms를 만져보면서 수백만건 이상 자료를 한꺼번에 모두 select 해야하는 경우는 지금까지 없었거든요.
만일 있다면, 그것은 업무/설계 상의 착오가 아닐까? 생각해봅니다.