limit offset 를 사용해서 페이징 기능을 처리하고 있습니다.
그런데 db의 마지막 데이타까지 쿼리가 됬는지 알수있는 방법이 있나요?
마지막까지 data까지 쿼리됬는데 다시 쿼리하면 프로그램이 다운이 되서요.
즉 너무나 많은 데이타처리라서 페이징시 전체 페이지를 계산 못하고 그때끄때 limit offset를 줘서 처리하고 있습니다.
psql에서 쿼리마지막까지 된건지 알수있는 방법 여쭙니다.
일반적으로 전체 record 수를 알기 위해서 query 를 하는 것은 쓸데 없이 너무 많은 시간을 소요하게 됩니다. 그래서 주로 sequence 의 번호와 해당 record의 번호를 비교해서 마지막까지 왔는지 아닌지를 구별하는 경우가 많습니다.
물론 초기 모델링이 그렇게 되어 있어야겠지요.
지금 query 를 주었을때 다운되는 현상은 저로서는 이해가 잘 가질 않는데 일반적으로는 프로그램의 잘못일 경우가 많으니 한번 원인을 따로 찾아 보시기 바랍니다. (아무리 그렇더라도 시간이 오래 걸리는 건 이해가 가지만 프로그램이 다운된다는 것은 좀...)
정재익님 말씀 감사드립니다.
그런데 sequence 의 번호와 해당 record의 번호를 비교해서 마지막까지 왔는지 아닌지를 구별한다고 하셨는데요.
구체적으로 어떻게 처리하는건지요.
sequence 는 db 테이블이 sequense 라는컬럼을 추가하고 record번호는 db row 자체에 붙는건가요?
그렇다면 둘을 어떻게 이용해서 마지막인지 알수있는거지요.. 다시 한번 부탁드립니다.
별도로 각 테이블 레코드수를 기록하는 테이블을
만드시고요.
각테이블에 입력 삭제가 일어날때마다
룰이나 트리거를 이용해서 레코드수 기록하는 테이블
의 해당 테이블 기록숫자를 갱신하세요.
전 그렇게 하는데요.
두분 말씀 잘 들었습니다.
먼저 정재익님 말씀대로 프로그램상의 처리 오류가 있었고, 해결하였습니다.
페이지 데이타가 없을시에는 더이상데이타가 없다는 메시지를 보내는것으로 처리했습니다. (db구조를 바꿀수 없는 상황이기도하고...게시판이아니라,테이블에서의 조회임.)
두번째분 말씀도 감사합니다.