본문 바로가기

페이징

(2)
메모리 단편화(Memory Fragmentation)가 무엇이고 왜 발생하는가? 메모리 단편화가 무엇이고 왜 발생하는가? 메모리 단편화 - RAM에서 메모리의 공간이 작은 조각으로 나뉘어져 사용가능한 메모리가 충분히 존재하지만 할당(사용)이 불가능한 상태를 보고 메모리 단편화가 발생했다고 한다.메모리 단편화는 내부 단편화와 외부 단편화로 구분 가능하다.내부 단편화(Internal Fragmentation)메모리를 할당할 때 프로세스가 필요한 양보다 더 큰 메모리가 할당되어서 프로세스에서 사용하는 메모리 공간이 낭비 되는 상황* 예를 들어 메모장을 켰는데 OS가 4kb를 할당해줬다. 그런데 사실상 1kb만큼만 사용하고 있을 때 필요 이상으로 프로세스가 메모리를 할당받았으므로 내부 단편화가 3kb만큼 생긴 것임.외부 단편화(External Fragmentation)메모리가 할당되고 해제..
웹 개발 페이지 처리(Paging) 방법 - 성능을 고려해보자 웹 개발 페이지 처리(Paging) 웹 개발을 하면서 당연하게(?) 고민하게 되는 것은 게시판의 페이징 처리다.실제로 면접에서 질문을 받아봤다. "페이징처리할 때 어떻게 하셨어요?"대답은 게시물의 총 개수와 한 페이지당 보여줄 게시물의 개수를 기준으로 이렇게 저렇게 해서 DB는 Mysql을 썼었으니까 LIMIT로 가져왔다고 대답했다.그런데 그런건 당연한 얘기고 본인이 듣고 싶었던 키워드는 "커서"였다고 했다.흠.. 여전히 잘 모르겠으나 페이지 처리를 정리해보고자 한다.MySQL 에는 LIMIT, MS-SQL 2012에서는 OFFSET Fetch로 페이징 쿼리를 조금 더 쉽게 작성할 수 있으나 현업에서 해당 버전, 해당 DBMS를 사용한다는 보장이 없으니 기본적인 것을 알고 가도록 한다.게시판 페이지 처리..