본문 바로가기

Database25

[MySQL] 인덱싱 전략과 최적화 MySQL 인덱싱 전략과 최적화: 데이터베이스 성능 향상의 핵심 🚀 안녕하세요, 데이터를 다루는 여러분! 오늘은 MySQL 데이터베이스의 성능을 향상시키는 핵심 요소인 인덱싱 전략과 최적화 방법에 대해 알아보겠습니다. 인덱스는 데이터베이스에서 데이터 검색 속도를 높여주는 중요한 도구로, 적절하게 사용하면 쿼리 성능을 크게 향상시킬 수 있습니다. 인덱싱(Indexing)이란? 인덱싱은 데이터베이스에서 특정 열(컬럼)의 데이터를 빠르게 찾을 수 있도록 도와주는 데이터 구조입니다. 인덱스를 사용하면 테이블 전체를 스캔하지 않고도 필요한 데이터를 효율적으로 조회할 수 있습니다. 인덱싱의 중요성 검색 속도 향상: 데이터 검색 시간을 크게 줄일 수 있습니다. 쿼리 최적화: 복잡한 쿼리의 성능을 개선합니다. 시스템 .. 2023. 12. 11.
[MySQL] 그룹화 및 집계함수(GROUP BY, COUNT, SUM, AVG, MAX/MIN) 목차 MySQL에서의 그룹화 및 집계 함수: 데이터 분석의 기초 📊 안녕하세요, 데이터를 다루는 여러분! 오늘은 MySQL에서 데이터를 그룹화하고 집계하는 방법에 대해 알아보겠습니다. 그룹화(Grouping)와 집계 함수(Aggregate Functions)는 데이터 분석 및 보고서 작성에 있어 필수적인 기능들입니다. 이 블로그를 통해 MySQL의 그룹화와 집계 기능의 기초를 이해하고, 실제 사용 예시를 살펴보겠습니다. 그룹화(Grouping)란? 그룹화는 특정 기준에 따라 데이터를 분류하는 과정입니다. MySQL에서는 GROUP BY 절을 사용하여 여러 행의 데이터를 그룹으로 묶고, 이를 기반으로 집계 연산을 수행할 수 있습니다. 그룹화의 중요성 데이터 분류: 데이터를 특정 기준에 따라 분류합니다. 집.. 2023. 12. 8.
[MySQL] 서브쿼리(Subquery) 목차 MySQL 서브쿼리(Subquery) 기법 이해하기: 데이터베이스 쿼리의 깊이 더하기 🌐 안녕하세요! 오늘은 데이터베이스 관리와 쿼리 작성에 있어 중요한 개념 중 하나인 MySQL의 서브쿼리(Subquery) 기법에 대해 알아보겠습니다. 서브쿼리는 복잡한 데이터 집합을 다룰 때 유용하며, 데이터베이스 쿼리의 가능성을 확장시켜 줍니다. 이 블로그를 통해 서브쿼리의 개념을 이해하고 실제 사용 예시를 살펴봅시다. 서브쿼리(Subquery)란? 서브쿼리는 다른 SQL 쿼리 내에 포함된 쿼리입니다. 이는 하나의 SQL 문 안에서 여러 단계의 데이터 처리와 계산을 수행할 수 있게 해 주며, 복잡한 데이터 요구사항에 대응할 수 있도록 도와줍니다. 서브쿼리의 특징 내포된 쿼리: 메인 쿼리 안에 추가적인 쿼리가 내.. 2023. 12. 7.
Chapter 10. transaction 1. transaction ⦁ transaction은 데이터베이스 내에서 하나의 그룹으로 처리되어야 하는 명령문들을 모아 놓은 논리적 작업 단위 ⦁ 여러 명령어의 집합을 하나의 처리로 다루는 기능 ⦁ 모든 명령어가 정상적으로 처리되면 commit을 통해 정상 종료됨 ⦁ 하나의 명령어라도 잘못되면 모두 취소되고 rollback을 통해 원상 복구됨 ⦁ savepoint를 통해 원하는 지점으로 rollback 가능 ⦁ savepoint를 통해 원하는 지점으로 rollback 가능 ⦁ transaction은 원자성, 일관성, 독립성, 지속성의 특징을 가짐 a. transaction 상태 ⦁ Active : transaction 실행중인 상태 ⦁ Failed : transaction 실행중 오류가 발생하여 중단된.. 2023. 2. 3.
Chapter 9. Case, If 1. Case ⦁ Case는 지정한 값이 맞으면 원하는 값으로 변경 가능 ⦁ when ~ then을 사용 2. If ⦁ if를 사용하여 조건을 줄 수 있음 ⦁ 자바의 삼항연산자와 비슷한 방식으로 사용 ⦁ if(조건, 참, 거짓)으로 구성 ⦁ ifnull은 값이 null이면 원하는 조건으로 변경, nullif는 두 값을 비교하여 조건이 맞으면 그 값을 null로 변경 3. Example a. case_if SELECT 순번, 도서관명, 구분, 도서명, 저작자, 출판사, 발행연도, #case 사용 case when 발행연도 is null then '2050' when 발행연도 = '' then '2090' else 발행연도 end as 발행연도1, #if 사용 if(ifnull(발행연도, '') = '', .. 2023. 2. 3.
Chapter 8. DDL, DML, DCL 1. DDL(Data Definition Language) ⦁ DDL은 데이터를 생성하거나 수정, 삭제 등 데이터의 전체 골격을 결정하는 언어 a. 종류 명령어 역할 Create 데이터 베이스, 테이블 생성 Alter 테이블 수정 Drop 데이터베이스, 테이블 삭제 Truncate 테이블 초기화 2. DML(Data Manipulation Language) ⦁ DML은 테이블에 있는 행과 열을 조작하는 언어 a. 종류 명령어 역할 Select 데이터 조회 Insert 데이터 삽입 Update 데이터 수정 Delete 데이터 삭제 3. DCL(Data Control Language) ⦁ DML은 데이터베이스에 접근하거나 객체에 권한을 주는 등의 역할을 하는 언어 a. 종류 명령어 역할 Grant 특정 작업.. 2023. 2. 2.