본문 바로가기

Computer Science

(3)
[MySQL] 윈도우 함수 + VIEW 조합의 성능 함정 목차 1. 들어가며: "VIEW에 윈도우 함수가 있으면 인덱스가 안 먹힌다?"최근 동료가 특정 기능을 작업하던 중 조회 성능이 급격히 저하되는 문제를 겪었다. 원인은 윈도우 함수가 포함된 VIEW 테이블을 조회할 때 발생한 현상이었으며, 이 조합이 Condition Push-Down을 방해한다는 점을 분석하였다. 평소 뷰를 편리하게 사용해왔으나 이러한 구체적인 성능 제약 사항은 경험해 본 적이 없었다. 이에 해당 지식을 직접 확인하고 이해하기 위해 로컬 환경에서 Docker를 이용해 상황을 재현하고 실험을 진행하였다.2. 이론적 배경: 왜 옵티마이저는 조건을 무시하는가?MySQL 옵티마이저는 뷰를 쿼리할 때 두 가지 실행 전략을 선택한다.Merge: 뷰의 정의와 외부 쿼리를 합쳐 하나의 최적화된 쿼리로 ..
[OS] IO 바운드 vs CPU 바운드 작업의 병렬 처리 방식 목차 용어 정리용어의미I/O 바운드 (Input/Output Bound)CPU가 계산하는 시간보다 외부 자원(디스크, 네트워크 등)에서 데이터를 주고받는 시간이 더 오래 걸리는 작업.CPU 바운드 (CPU Bound)외부 자원보다 CPU 연산에 더 많은 시간이 소요되는 작업.비동기 프로그래밍 (Asynchronous Programming)하나의 스레드가 작업이 끝나길 기다리지 않고 다른 작업을 계속 수행할 수 있도록 하는 방식.스레드 (Thread)하나의 프로세스 안에서 병렬로 작업을 수행할 수 있는 실행 단위.멀티프로세싱 (Multiprocessing)여러 개의 프로세스를 만들어서 병렬로 작업을 수행. 각 프로세스는 별도의 메모리 공간을 가짐. 왜 I/O 바운드는 비동기 프로그래밍이 적합한가?I/O 바..
[네트워크 원리] 웹 브라우저 보호되어 있는 글입니다.