MySQL 6

프로시저

📌 프로시저(Stored Procedure)란? 프로시저(Stored Procedure) 는 SQL 문을 저장해 두고 필요할 때 호출하여 실행할 수 있는 데이터베이스 객체임. ✅ 프로시저의 주요 특징 • 재사용 가능 → 동일한 SQL 작업을 반복 실행할 때 유용 • 성능 최적화 → 서버에서 실행되므로 네트워크 트래픽 감소 • 비즈니스 로직 캡슐화 → SQL 로직을 하나의 프로시저로 묶어 관리 가능 • 입력(매개변수) & 출력(결과값) 가능 → IN, OUT, INOUT 파라미터 지원 📌 기본적인 프로시저 호출 흐름클라이언트 → CALL 프로시저명() → MySQL에서 SQL 실행 → 결과 반환  1️⃣ 프로시저의 기본 문법DELIMITER $$ -- 구분자 변경 (MySQL에서 여러 문장을 실행하기..

DB/MySQL 2025.04.06

MySQL 리플리케이션

📌 MySQL 리플리케이션(Replication)란? MySQL 리플리케이션(MySQL Replication) 은 하나의 MySQL 서버(Primary, Master)의 데이터를 다른 MySQL 서버(Replica, Slave)로 복제하는 기능임. ✅ 주요 특징 • 데이터베이스 백업 및 장애 대비 → 하나의 서버 장애 발생 시 다른 서버에서 복구 가능 • 읽기 부하 분산(Read Scalability) → 여러 개의 읽기 전용 서버를 두어 성능 최적화 가능 • 데이터 분석 및 실시간 백업 → 운영 서버(Master)에 영향을 주지 않고 분석용 DB 운영 가능 ✅ MySQL Replication의 기본 개념클라이언트 → [Primary] → 데이터 변경 → [Replica1] [Replica2] … 데이..

DB/MySQL 2025.04.05

MySQL 인덱스를 활용한 성능 최적화

MySQL에서 인덱스(Index)를 사용한 성능 최적화란? MySQL에서 인덱스(Index)를 사용한 성능 최적화란, 데이터베이스가 특정 데이터를 빠르게 찾을 수 있도록 데이터의 위치를 미리 정리하여 보관하는 방법임. 인덱스는 흔히 도서관의 책 색인에 비유할 수 있음. 예를 들어, 도서관에서 특정 주제의 책을 찾으려면, 책 전체를 하나씩 확인하는 대신 색인을 보고 원하는 책을 바로 찾는 것과 같음.인덱스를 설정하면 MySQL 역시 데이터를 빠르게 검색할 수 있게 됨. 인덱스가 없을 때의 문제점 (성능 저하) 먼저, 인덱스가 없을 경우의 문제를 알아보겠음. 예를 들어, 다음과 같은 테이블이 있다고 가정함: 예시 테이블 (user):idusernameageemail1kim25kim@test.com2lee28..

Infra/Performance 2025.03.21

[SQL] 트랜잭션

트랜잭션은 데이터베이스 관리에서 작업의 단위를 의미한다하나의 트랜잭션은 일련의 SQL 작업들을 논리적으로 묶어 처리하며,이 작업들이 모두 성공하거나 실패하는 원자성(Atomicity)을 보장한다1. 트랜잭션의 기본 개념1.1. 트랜잭션이란?데이터베이스의 상태를 변경하는 작업 단위데이터베이스는 트랜잭션 단위로 작업을 처리하며, 각 트랜잭션은 일관성과 안정성을 유지해야 한다1.2. 트랜잭션의 주요 특징 (ACID 속성)트랜잭션의 신뢰성을 보장하기 위해 ACID 속성을 따른다1.2.1. Atomicity (원자성)트랜잭션의 작업은 모두 성공하거나 모두 실패해야 한다부분적으로 작업이 수행된 상태는 허용되지 않음1.2.2. Consistency (일관성)트랜잭션이 완료된 후에도 데이터베이스는 항상 일관된 상태를 ..

DB/MySQL 2024.12.17

[SQL] 연산자

산술 연산자+더하기-빼기*곱하기/나누기%나머지비교 연산자=같음!= 또는 같지 않음 작음>큼작거나 같음>=크거나 같음논리 연산자AND모든 조건이 참이어야 함OR하나 이상의 조건이 참이면 참NOT조건의 논리값을 반전비트 연산자&비트 AND|비트 OR^비트 XOR~비트 NOT기타 연산자BETWEEN ... AND ...BETWEEN a AND ba와 b 사이NOT BETWEEN a AND ba와 b 사이가 아닌것ININ ()()에 포함된 것NOT IN ()()에 포함되지 않은 것LIKELIKE "A%"A로 시작하는 것LIKE "%A"A로 끝나는 것LIKE "%A%"A를 포함하는 것NOT LIKE "%A%"A를 포함하지 않는 것NULLIS NULLNULL인 것IS NOT NULLNULL이 아닌 것ALL하위 쿼리..

DB/MySQL 2024.12.10

[SQL] SQL이란?

DB(Database)관련있는 데이터들의 조직화된 집합 테이블들을 묶어주는 폴더 같은 개념. 테이블 - 표. 엑셀파일 같은 개념표 - 칼럼(열) + 로우(행)칼럼 - 번호, 이름, 나이, 연락처 등등 표에서 칼럼은 한줄만 존재하고, 로우는 N줄 존재할 수 있다 SQL데이터베이스를 관리하고 조작하기위해 사용하는 언어간단히 명령어 살펴보기종류DBTABLEROW생성CREATE DATABASE ~~;CREATE TABLE ~~ ();INSERT INTO articleSET ~~;조회SHOW DATABASES;SHOW TABLES;SELECT * FROM article;수정XALTER TABLE ~~UPDATE articleSET ~~;삭제DROP DATABASE ~~;DROP TABLE ~~;DELETE FRO..

DB/MySQL 2024.12.03