전체 글 13

[SQL] order by를 이용한 정렬방식의 과부하와 인덱스를 통한 해결방법

수십, 수백만 개의 데이터를 리스트할 때, order by를 사용하게되면 각각의 데이터를 방문하며 소팅(sorting)하게 되면서 엄청난 성능저하가 일어나게 된다. 이 때 인덱스 칼럼을 지정해서 pk보드로 만들어둔다면 이미 정렬되어있는 인덱스를 통해 성능저하 없이 데이터를 정렬할 수 있게된다. 예시 select /*INDEX_DESC(tbl_board pk_board)*/ * from tbl_board where bno > 0 pk_board는 테이블 생성시 제약조건으로 지정한것으로 tbl_board를 pk_board의 내림차순으로 정렬하는 방식으로 tbl_board를 조회하게된다. 여기서 /* */ 내부값은 오라클에서 사용하는 '힌트'로, select문을 처리하는 방법에대해 기술을 하며 이에따라 sql..

컴퓨터과학/SQL 2021.03.02

[Docker] (MAC) Docker port is already allocated 해결방법

컴퓨터를 강제종료 시키거나 도커를 비정상적으로 종료했을때 포트가 이미 할당되어있어 기존에 사용하던 어플리케이션을 가동하지 못하는 경우가 있다. 이럴때는 귀찮지만 강제로 해당 포트를 사용하고있는 프로세스를 종료해야한다. 하지만 sudo lsof -l : port 명령어를 사용해도 제대로 찾아내지 못하는 경우가 있다. 이럴때는 sudo lsof -PiTCP -sTCP:LISTEN 를 이용하여 전체 프로세스를 로드한 뒤, sudo kill -9 를 통해 프로세스를 강제종료하면 된다. (lsof -i만으로 프로세스 조회가 된다면 그대로 진행하면 된다.)

[Spring] 스프링(Spring) 이란?

웹(Web)이라는 분야를 공부하기로 결정하고 학습 루트를 탐색하다보면 가장 많이 나오는 키워드중 하나는 스프링이다. 물론 요즘에는 스프링 이외에도 노드js(Node,js) 자식뻘인 스프링부트 등 다양한 프레임워크가 존재하지만, 아직까지 인기있는 현역 프레임워크라는 사실은 틀림없다. 01. 스프링이란? "스프링은 웹사이트 개발을 위한 백엔드 프레임워크이다" 백엔드 (Back-end): 웹 개발 프로세스를 프론트(Front-end), 백엔드(Back-end)로 구분하는데, 일반적으로 서버단에서 동작하는 프로그램(DB, API서버 ..)을 다루는 프로세스를 백엔드 라고 한다. 프레임워크 (Framework): 프로그램 설계에 있어 미리 구축되어있는 뼈대 라고 이해하면 쉽다. 백엔드 프로세스를 구축하는데 있어 ..

반응형