SQL - 외래키 제약 조건 ON DELETE, ON UPDATE 옵션이란?
ON DELETE / ON UPDATE DB는 외래키 제약 조건이 걸려 있는 상위 데이터의 삭제나 수정을 막는 것(RESTRICT)이 기본값임. 가장 안전한 정책임. 상위 테이블의 데이터가 삭제되면 그 데이터를 참조하는 하위 테이블의 데이터도 같이 삭제되도록 옵션을 줄 수 있음. 옵션 종류 ...
ON DELETE / ON UPDATE DB는 외래키 제약 조건이 걸려 있는 상위 데이터의 삭제나 수정을 막는 것(RESTRICT)이 기본값임. 가장 안전한 정책임. 상위 테이블의 데이터가 삭제되면 그 데이터를 참조하는 하위 테이블의 데이터도 같이 삭제되도록 옵션을 줄 수 있음. 옵션 종류 ...
인덱스의 단점 저장 공간: 원본 테이블과는 별개로, B-Tree 구조를 가진 물리적인 파일로 디스크에 저장됨. 인덱스를 생성하면 그만큼의 추가 저장 공간이 필요함. 쓰기 성능 저하: 인덱스는 SELECT의 속도를 높이는 대신 쓰기 작업(INSERT, UPDATE, DELETE)의 성능을 저하시킴. ...
복합 컬럼 인덱스란? 두 개 이상의 컬럼을 묶어서 하나의 인덱스를 만드는 것을 말함. 다중 조건 쿼리의 성능을 최적화하기 위해 사용됨. WHERE절에서 사용되는 컬럼의 순서가 성능을 좌우함. 복합 인덱스 생성 구문 CREATE INDEX index_name ON table_name (column1, col...
📚 오늘 배운 것 / 실행한 것 TIL 작성하기 영어 article 1개 해석 영어 5줄 일기 쓰기 영어 학원 숙제하기 트리 자료 구조 공부 내용 정리 인덱스 관련 내용, 쿼리 실행 계획 분석 공부 내용 정리 💡 오늘 느낀 점 오늘은 영어 article 해석, 영어 학원 숙제(단어암기), 영어 5줄 일기, 트리 자료구조 ...
커버링 인덱스란? 쿼리에 필요한 모든 컬럼을 포함하고 있는 인덱스를 뜻함. 랜덤 I/O를 줄여 성능을 향상시킴. 기본적으로 보조 인덱스는 해당 컬럼의 데이터와 기본키(PK) 값을 한 쌍으로 저장하여 인덱스를 탈 경우 컬럼의 데이터와 매핑되어 있는 기본키값을 통해 원본 데이터를 조회하게 되는데, 이렇게 인...
단일 컬럼 인덱스 활용 인덱스를 사용하는 상황은 아래와 같음. 동등 비교(=), JOIN 범위 검색(BETWEEN, >, <, LIKE 등) ORDER BY 정렬 동등 비교 인덱스 적용 X 예시 EXPLAIN SELECT * FROM articles WHERE title = 'SQL 인덱스 완벽 정리'; 결과 t...
쿼리 실행 계획이란? 실행하려는 쿼리가 어떤 방식으로 실행되는지, 인덱스를 타는지 안타는지를 확인하는 것. 실행하려는 쿼리 앞에 EXPLAIN 키워드를 붙여 확인 가능함. 구문 EXPLAIN query; 예시 EXPLAIN SELECT * FROM articles; 결과 type: 데이터베이스...
인덱스란? 특정 컬럼들의 데이터를 기반으로 생성되는 원본 테이블과는 별개의 특수한 자료 구조임. 지정된 컬럼의 값과 해당 값을 가진 실제 데이터 행의 위치(PK, 포인터 등)를 한 쌍으로 저장함. 인덱스 내부의 데이터는 항상 정렬된 상태를 유지함. B-Tree 알고리즘을 사용함. 인덱스가 붙어 있으면 ...
트리 자료구조란? 상위 노드와 하위 노드로 구성됨. 가장 상위에 위치한 노드를 루트(root)라고 함. 이진 트리란? 하위 노드를 2개까지 가질 수 있는 트리. 이진 탐색 트리: 왼쪽 하위 노드가 더 작은 값을 가지고 오른쪽 하위 노드가 더 큰 값을 가지는 것. 트리가 한쪽으로 치우치면 선형 탐색과 동일한 성능...
📚 오늘 배운 것 / 실행한 것 TIL 작성하기 영어 article 1개 해석 영어 5줄 일기 쓰기 영어 학원 숙제하기 테이블 서브쿼리, UNION, CASE문, 뷰(View) 공부 내용 정리 💡 오늘 느낀 점 오늘은 영어 article 해석, 영어 학원 숙제(단어암기), 영어 5줄 일기, SQL 테이블 서브쿼리, UNION...