게시판 테이블에 대한 질문이 잇습니다.
본문
게시판의 데이터의 갯수가 15개 이상 넘어가면
게시판의 하단에 페이지가 생깁니다.
그렇다면
페이지 별로 또 다시 셀렉트를 하여 게시판의 데이터가 뿌려진 것인지 아니면
처음부터 게시판의 테이블의 데이터를 다 셀렉트 한 후에 탭이 나뉘어 지는지 알고 싶습니다.
간단히 말하자면
1. 게시판 테이블을 처음부터 다 셀렉트를 한다.
2. 게시판 테이블을 15개 까지만 셀렉트 하고 페이지탭을 누르면 나머지 게시판 테이블의 데이터를 셀렉트 한다.
위의 2가지 경우중 어느곳에 해당하나요?
답변 2
간단히 설명하자면...
1. 총 게시물 수를 가져옵니다.
2. 게시물의 몇개를 한페이지에 보여줄지 정한걸로 총 게시물의 페이지를 나눕니다.
3. 그렇게하여 현재 보고자 하는 페이지의 limit 값을 정한 후
4. 그 limit값으로 한 페이지의 게시물만 셀렉트하여 보여줍니다.
말씀하신 내용이 다 맞는거죠.
총 게시물수를 구하고 보여줄 페이지를 계산한 후 해당 게시물만 셀렉트 한다가 답입니다.
페이징이동할때마다 위행동을 계속 반복하게 됩니다.
모든 SQL이 마찬가지로 데이터가 많으면 많을 수록 느려질 수 밖에 없는 구조입니다.
때문에 대형(?) 등... 많은 데이터가 제반되는 서비스의 경우는 SQL튜닝 등을 통해 엑세스 시간을 줄이는 별도의 환경구축이 필요할 겁니다.
답변을 작성하시기 전에 로그인 해주세요.