SQL 9

EXPLAIN ANALYZE 활용법

EXPLAIN ANALYZE란?MySQL에서 쿼리 실행 계획뿐만 아니라, 쿼리를 실제로 실행해 본 후 실제 실행 시간과 처리된 행 수 같은 실행 통계까지 함께 보여주는 명령어단순 EXPLAIN과 달리, 쿼리를 실제 실행하므로 정확한 성능 정보를 알 수 있다.옵티마이저가 예측한 실행 계획과 실제 수행 결과를 비교해, 실행 계획의 적절성을 검증할 수 있다.EXPLAIN ANALYZE 활용법 및 개선 방향실제 실행 시간과 옵티마이저 예상 비용을 비교한다.조인 방식(Nested Loop, Hash Join 등)과 인덱스 활용 여부를 확인한다.불필요한 컬럼 조회를 피하고, 필요한 컬럼만 선택한다. (커버링 인덱스 유도)통계 정보를 최신으로 유지해 옵티마이저가 정확한 계획을 세우도록 한다.변경 전후 성능을 수치로 ..

SQL/성능 개선 2025.07.04

[📘 엑셀보다 쉽고 빠른 SQL] 5주차

📘 5주차에 배울 내용데이터가 없을 때 처리 방법상식적이지 않은 데이터 처리 방법Window Function - RANK, SUM날짜 데이터 포맷하기숙제💙 수업목표데이터에서 예상하지 못한 값이 나왔을 때 (이상한 값, 값이 없음 등) 분석에 적절하에 처리한다.SQL 로 엑셀에서 자주 사용하는 형태로 데이터를 만든다.업무에 활용할 수 있는 다양한 SQL 심화 문법을 익힌다.1. 데이터가 없을 때 처리 방법[방법 1] 없는 값을 제외해주기null 문법을 이용하여, null 값 제거SELECT a.order_id, a.customer_id, a.restaurant_name, a.price, b.name, b.age, b.genderFROM food_orders a LEFT JOIN customers b O..

SQL/강의 2025.03.21

[📘 엑셀보다 쉽고 빠른 SQL] 4주차

📘 4주차에 배울 내용여러번의 연산을 한 번의 SQL 문으로 수행하기 (Subquery)필요한 데이터가 서로 다른 테이블에 있을 때 조회하기 (JOIN)숙제💙 수업목표Subquery 를 활용하여 복잡한 연산을 수행한다Join 을 활용하여 여러개의 테이블에 있는 데이터를 한 번에 조회하고 연산한다1. 여러번의 연산을 한 번의 SQL 문으로 수행하기 (SubQuery)서브쿼리(SubQuery)란?부모 쿼리 안에 작성하는 내부의 SELECT 쿼리 서브쿼리(SubQuery)가 필요한 경우여러번의 연산을 수행해야 할 때조건문에 연산 결과를 사용해야 할 때조건에 Query 결과를 사용하고 싶을 때 서브쿼리(SubQuery) 문의 기본 구조SELECT column1, special_columnFROM ( /..

SQL/강의 2025.03.21

[📘 엑셀보다 쉽고 빠른 SQL] 3주차

📘 3주차에 배울 내용문자열 가공하기 (REPLACE, SUBSTRING, CONCAT)조건별 문자 가공하기 (IF, CASE)DATA Type 오류 해결하기숙제💙 수업목표Query 결과를 업무에 바로 사용할 수 있도록 문자 (워딩) 를 다듬는다.수치계산 및 문자를 다듬을 때, 조건별로 다르게 적용한다.수치계산과 문자 연산이 되지 않는 경우를 배우고, 에러를 수정한다.1. 문자열 가공하기 (REPLACE, SUBSTRING, CONCAT)Query 결과를 바로 사용할 수 있도록 문자 데이터의 형태를 변경해보자 특정 문자를 다른 문자로 바꾸기 (REPLACE)REPLACE(바꿀 컬럼, 현재 값, 바꿀 값);SELECT restaurant_name "원래 상점명", REPLACE(restaur..

SQL/강의 2025.03.21

[📘 엑셀보다 쉽고 빠른 SQL] 2주차

📘 2주차에 배울 내용SQL로 계산하기 (SUM, AVERAGE, COUNT, MIN. MAX)카테고리별 연산하기 (GROUP BY)Query 결과 정렬하기 (ORDER BY)SQL 구조 마스터숙제💙 수업목표SQL을 이용하여 숫자 계산 값을 도출한다.Query 결과를 원하는 순서대로 조회한다.1. SQL로 계산하기 (SUM, AVERAGE, COUNT, MIN, MAX)사칙연산 연산자연산자의미+더하기-빼기*곱하기/나누기 SELECT food_preparation_time + delivery_time as total_time FROM food_orders; 함수합계: SUM(컬럼)평균: AVG(컬럼)모든 행 개수: COUNT(컬럼)중복 값 제외 행 개수: COUNT(DISTINCT 컬럼)최솟값: MIN..

SQL/강의 2025.03.21

[📘 엑셀보다 쉽고 빠른 SQL] 1주차

📘 1주차에 배울 내용실습 세팅하기데이터베이스, 테이플, 컬럼SELECT / FROM 문WHERE 절, 필터링 조건 (비교연산, BETWEEN, IN, LIKE)여러 조건 적용하기 (논리연산)숙제💙 수업목표데이터베이스와 SQL이 무엇인지 이해한다.SELECT, FROM 문을 이용하여 데이터를 조회한다.WHERE 절을 이용하여 데이터를 필터링한다.1. 실습 세팅하기실습 프로그램(DBeaver) 설치하기링크로 이동하여 OS에 맞는 프로그램을 설치한다.설치 링크: https://dbeaver.io/download/ Download | DBeaver CommunityDownload DBeaver Community 25.0.0 Released on March 2nd 2025 (Milestones). It is..

SQL/강의 2025.03.20