DBMS/데이터베이스17 [데이터베이스] SQL 튜닝 체크리스트(실전 팁) ㅁSQL 튜닝(SQL Tuning): SQL 문장의 성능을 향상시키기 위해 구조나 실행 계획을 최적화하는 작업 이는 데이터베이스 시스템에서 불필요한 리소스 소비를 줄이고, 응답 시간을 단축시키며, 전체 시스템의 처리 효율을 높이기 위한 중요한 과정이다 같은 결과를 반환하는 쿼리라도 작성 방식에 따라 성능 차이가 극명하게 나타날 수 있다. 특히 대량의 데이터를 다루는 시스템에서는 쿼리 하나가 전체 응답 시간을 좌우하기도 한다. 이에 따라, 성능을 높이기 위한 SQL 튜닝(SQL Optimization)은 매우 중요한 작업이다! 이번에는 SQL 성능을 개선하기 위해 실무에서 자주 활용되는 튜닝 체크리스트를 알아보려 한다 :) 1. SELECT * 대신 필요한 컬럼만 조회SELECT * 는 모든 컬럼을 가져.. 2025. 4. 18. [데이터베이스] 옵티마이저(Optimizer) 개념에 대해 ㅁ옵티마이저(Optimizer): SQL 쿼리를 가장 효율적으로 실행하기 위한 실행 계획(Execution Plan)을 선택하는 DBMS의 내부 컴포넌트즉, 다음과 같은 질문에 답하기 위한 내부 판단 시스템이다어떤 인덱스를 사용할까?테이블 조인은 어떤 순서로 할까?풀 테이블 스캔이 더 나을까, 인덱스 스캔이 더 나을까? (옵티마이저 종류 2가지)규칙 기반 옵티마이저(Rule-Based Optimizer, RBO)정해진 규칙에 따라 실행 계획을 선택한다. 예를 들어, 인덱스가 있으면 무조건 인덱스를 사용하는 식이다. 단순하고 예측 가능하지만, 다양한 상황에 유연하게 대응하지 못한다는 단점이 있다.비용 기반 옵티마이저(Cost-Based Optimizer, CBO)테이블의 행 수, 인덱스 유무, 통계 정보 .. 2025. 4. 18. [데이터베이스] DBMS → Data Warehouse → Data Mining 흐름 이해 개괄식으로 먼저 알려주자면, 다음과 같은 파이프라인 구조를 지닌다[DBMS] → [Data Warehouse] → [Data Mining] (저장) (분석용 정리) (패턴/예측) DBMS는 현재의 데이터를 실시간으로 저장하고 관리한다Data Warehouse는 다양한 원천의 데이터를 모아 분석할 수 있게 정리한다Data Mining은 Data Warehouse의 데이터를 기반으로 유의미한 정보를 추출한다 1. DBMS – 데이터를 저장하고 관리하는 시스템https://claremont.tistory.com/entry/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-ep0-%ED%8C%8C%EC%9D%BC%EC%8B%9C%EC%8A%A4.. 2025. 4. 15. [데이터베이스] SQL 연습문제 문제는 모두 주석에 적어놓았습니다! -- 1번: 데이터 조회 및 조인 SQL-- 고객별 총 주문 금액과 주문 횟수를 조회하는 쿼리SELECT c.customer_id, c.customer_name, COUNT(o.order_id) AS total_orders, -- 주문 횟수 COALESCE(SUM(o.total_amount), 0) AS total_spent -- 총 주문 금액 (NULL 방지)FROM day3_customers cLEFT JOIN day3_orders o ON c.customer_id = o.customer_idGROUP BY c.customer_id, c.customer_name;-- 2번: 데이터 조회 및 조인 SQL-- 카테고리별 총 판매액과 판매.. 2025. 2. 6. [데이터베이스] SQL JOIN + INDEX 개념 평소에 SKALA 팀원분들과 얘기를 할 때 컴공식 유머를 발휘하는데, 여기서 JOIN문이 자주 쓰인다..ㅎ JOIN : 두 개 이상의 테이블을 연결하여 데이터를 조회데이터베이스는 일반적으로 정규화를 통해 여러 테이블로 분리되므로, 데이터를 효과적으로 활용하기 위해서는 JOIN을 사용하여 테이블 간의 관계를 결합해야 한다. [대표적인 SQL JOIN의 5가지 종류]1. INNER JOIN두 테이블에서 공통된 값이 있는 행만 반환한다. 일치하지 않는 데이터는 결과에서 제외된다. (사용 예제)SELECT A.id, A.name, B.order_idFROM Customers AINNER JOIN Orders B ON A.id = B.customer_id; 2. LEFT JOIN (LEFT OUTER JOIN.. 2025. 2. 6. [데이터베이스] 트랜잭션 개념과 관리 방안 수립 DB에서 트랜잭션 관리는 필수적인 요소이다. 데이터의 무결성을 유지하고, 동시 접근을 효율적으로 제어하며, 장애 발생 시 복구할 수 있도록 설계해야 한다. 이를 위해 트랜잭션 관리 방안을 수립하는 것이 중요하다. 이번 포스팅에서는 트랜잭션 개념과 트랜잭션 관리 방안, 그리고 트랜잭션의 상태 변화와 격리 수준까지 알아보자~! ㅁ트랜잭션(transaction): 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위 (트랜잭션 관리의 중요성)하나의 트랜잭션은 여러 개의 작업(쿼리)으로 구성될 수 있으며, 모든 작업이 성공적으로 완료되어야만 데이터베이스에 반영된다. 트랜잭션 관리를 통해 다음과 같은 기능을 제공할 수 있다.데이터 무결성 유지동시 접근 제어(락을 사용)장애 발생 시 복구 기능 제공 AC.. 2025. 2. 6. [데이터베이스] 대표적인 데이터 모델링 기법 4가지 https://claremont.tistory.com/entry/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-ep1-DB-%EB%AA%A8%EB%8D%B8 [데이터베이스] ep1) DB 모델ㅁ논리적 데이터 모델들1. 계층형 데이터 모델 2. 네트워크형 데이터 모델 3. 관계형 데이터 모델(RDB: Relational DataBase)- 우리는 이 RDB에 대해 앞으로 지겹도록 다룰 것이다 ㅁRDB 데이터 모claremont.tistory.com 데이터 모델링은 데이터를 체계적으로 구조화하고, 데이터 간의 관계를 명확하게 정의하는 과정이다. 이를 통해 데이터베이스 설계의 기초를 마련하고, 효율적인 데이터 관리가 가능해진다. 데이터 모델링에는 .. 2025. 2. 6. [데이터베이스] 표준화 명세서와 정규화 과정 1. 데이터 표준화 명세서 예시 (명명 규칙)테이블 명: 복수형 사용 (students, subjects, professors, enrollments)컬럼 명: 소문자 및 스네이크 케이스 사용 (student_id, course_code, professor_id 등)데이터 타입: 일관된 데이터 타입 사용 (VARCHAR, INT, FLOAT 등)키 명: id 사용 (표준 컬럼 정의)컬럼명데이터 타입설명student_idINT학번 (기본키)student_nameVARCHAR학생 이름majorVARCHAR전공subject_idVARCHAR과목 코드 (기본키)subject_nameVARCHAR과목 이름gradeFLOAT학점professor_idVARCHAR교수 ID (기본키)professor_nameVARCH.. 2025. 2. 5. [데이터베이스] 빅데이터(Big Data) 빅데이터(Big Data): 기존의 관리 방법이나 분석 체계로는 처리하기 어려운 방대한 양의 정형, 반정형, 비정형 데이터의 집합 [TTA 정보통신용어사전] 빅데이터 유형 3가지- 정형 데이터(Structed Data): 형식과 구조가 있는 데이터 - 반정형 데이터(Semi-Structed Data): 형식과 구조가 변경될 수 있는 데이터 데이터의 구조 정보를 데이터와 함께 제공하는 파일 형식의 데이터e.g. HTML, XML, JSON(Javascript Object Notation), RDF(Resource Description, Framework)질의 처리가 어려워 데이터 분석에 사용 시 정형 데이터로 변환하여 사용한다- JSON 데이터는 CSV(Comma Separated Value) 또는 테이.. 2024. 7. 3. 이전 1 2 다음