1️⃣ 트랜잭션이란? sql delete 참고로 데이터베이스는 DDL 명령어와 DML 명령어를 처리하는 방식에 있어서 차이를 보인다. DDL(CREATE, ALTER, RENAME, DROP) 명령어인 경우에는 직접 데이터베이스의 테이블에 영향을 미치기 때문에 DDL
조인이란, 두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는 것을 말한다.일반적으로, ⭐Primary Key나 Foregin Key 값의 연관에 의해 조인이 성립된다. 만약, 관계가 없더라도 기타 다른 칼럼간 논리적인 연관만으로도 조인이 가능하다.다만,
1️⃣서브 쿼리의 종류 다음은 예시에 사용할 테이블과 인덱스이다. 2️⃣NESTED 서브 쿼리 메인 쿼리와는 별개로, 서브 쿼리 자체가 먼저 실행 가능한 유형이다. 서브 쿼리가 먼저 실행되어 데이터를 읽어들이고, 조건으로 해서 메인 쿼리가 실행된다. 서브 쿼리가
1️⃣ 인덱스란? 인덱스는, 테이블과 클러스터와 연관된 독립적인 객체를 말하며, 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 만약 우리가 책에서 원하는 내용을 찾는다고 하면, 책의 모든 페이지를 찾아 보는
1️⃣ 인덱스를 사용하지 못하는 경우 --- 1)NOT 연산자
1️⃣ 옵티마이저란? SQL 개발자가 SQL을 작성하여 실행할 때, 옵티마이저는 SQL을 어떻게 실행할 것인지 계획하게 된다. 즉, 옵티마이저는 ⭐최적의 실행 방법인 실행 계획(Execution Plan)을 수립하고 SQL을 실행하는 DBMS의 SW이다. 동일한 결
아래의 테이블 예제로 조인에 대해 알아볼 것이다.Nested Loop 조인은 ⭐인덱스 사용을 기반으로 한 테이블에서 데이터를 먼저 찾고, 그 다음 테이블을 조인하는 방식이다. 먼저 조회되는 테이블 테이블을 외부 테이블 Outer Table(Driving)이라고 하고,
1️⃣ 테이블 파티션이란? 파티션은, ⭐대용량의 테이블을 여러 개의 데이터 파일에 분리해서 저장한다. 따라서, 분산의 이점처럼 데이터가 물리적으로 분리된 데이터 파일에 저장되면 입력/수정/삭제/조회의 성능이 향상된다. 데이터의 범위가 줄어들기 때문에 조회 성능을 향상시
정규화 1️⃣ 이상(Anomaly) 이상이란, 말 그대로 테이블에 문제가 생긴 상태를 의미한다. 쉽게 말하면 이러한 이상을 없애는 과정을 정규화라고 하며, 진찰 도구로 🌟 Functional Dependency(함수 종속성)을 사용하여 고치게 된다. 다음의 기본
전체적인 아키텍처 MYSQL 엔진 클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러, SQL 파서, 옵티마이저 등 요청된 SQL 문장을 분석하거나 최적화하는 엔진이다. GROUP BY, ORDER BY 등 복잡한 처리는 해당 엔진의 처리 영역인 쿼리 실행
☁️ 프라이머리 키에 의한 클러스터링 모든 테이블은, 기본적으로 프라이머리 키를 기준으로 클러스팅되어 저장된다. 클러스터링 인덱스란? https://www.geeksforgeeks.org/difference-between-clustered-and-non-clus
InnoDB 버퍼 풀이란, 디스크의 데이터 파일이나 인덱스 정보를 메모리에 캐시해두는 공간이다. 또한 일괄 처리를 위한 쓰기 작업 레코드 버퍼 용도로도 사용된다. 1. 버퍼 풀 크기 설정 일반적으로 운영체제 공간이 8GB 미만이라면, 50% 정도만 InnoDB 버퍼
트랜잭션 : 작업의 완전성(일부만 적용되는 일이 없도록)을 보장하는 데이터의 정합성을 위한 기능이다. 잠금(Lock): 레코드에 대한 동시성을 제어하기 위한 기능이다. MyISAM이나 MEMORY 는 InnoDB 와 달리 트랜잭션을 지원하지 않는다. 트랜잭션 기능이
트랜잭션 격리 수준이란, 여러 트랜잭션이 동시에 처리될 때 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있도록 허용할지 말지 결정하는 것을 의미한다. 총 네 단계로 나뉘며, 뒤로 갈수록 고립 정도(격리)가 높아져 동시 처리 성능이 떨어져서 잘
☁️ 디스크 읽기 방식 CPU와 메모리는 전기적 특성을 띄고 있는 장치이기 때문에, 속도가 빠르다. 하지만 이에 반해 디스크와 같은 기계적 장치는 여전히 느리므로, 데이터베이스 성능 튜닝은 디스크 I/O를 얼마나 줄이느가 관건이라 할 수 있다. HDD VS SSD
클러스터링 인덱스란? > 🫧 클러스터링이란? 서로 연관이 있는 데이터들을 하나로 묶는 것을 의미한다. 따라서 클러스터링 인덱스란, 테이블의 레코드를 프라이머리키가 비슷한 것 끼리 묶는 것을 의미한다. 중요한 것은 InnoDB 에서는 프라이머리 키에 의해, 삽입