일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- vue3
- 중복서브타입
- 함수종속
- mysql
- 실행계획
- 주석제거
- SQL
- 불완전서브타입
- 크롬원격데스크톱
- group-by
- 데이터통합
- 제4정규형
- 완전서브타입
- 서브타입
- 빈줄제거
- 샘플데이터
- 제5정규형
- 워크벤치
- order-by
- Spring Cloud Gateway
- index
- Workbench
- 더미데이터
- 인덱스
- 물리모델
- 정규형
- bc정규형
- 제1정규형
- sociallogin
- 배타서브타입
- Today
- Total
목록SQL (36)
domsam - IT 기술 블로그

3.2.2.3 table테이블명이나 테이블 알리아스를 표시하는 항목이다. 서브쿼리나 임시 테이블을 만들어서 별도의 작업을 수행할 때는 , 으로 표시한다. 3.2.2.4 partitions데이터가 저장된 논리적인 영역을 표시하는 항목이다. 사전에 정의한 전체 파티션 중 특정 파티션에 선택적으로 접근하는 것이 SQL 성능 측면에서 유리하다. 만약 너무 많은 영역의 파티션에 접근하는 것으로 출력된다면 파티션 정의를 튜닝하는 것이 좋다. 3.2.2.5 type옵티마이저가 테이블의 레코드를 어떤 방식으로 읽었는지 나타낸다. 12개의 값이 있는데 ALL을 제외한 나머지 값은 인덱스를 사용하는 접근 방법이다. const테이블의 레코드 건수와 관계없이 쿼리가 PK나 유니크 인덱스를 이용하는 WHERE 조건절을 가지고..

3.2 실행 계획 수행실행 계획은 쿼리문을 옵티마이저가 비용 기반 최적화를 적용하여 비용이 최소로 소요되는 방법을 찾아내는 것을 의미한다. 3.2.1 기본 실행 계획 수행아래 3가지 방법으로 실행 계획을 확인할 수 있다.EXPLAIN 쿼리문DESCRIBE 쿼리문DESC 쿼리문일반적으로 EXPLAIN을 사용한다. 예를 들어 아래처럼 실행하여 확인할 수 있다. EXPLAIN SELECT * FROM employees WHERE emp_no BETWEEN 100001 AND 200000; 3.2.2 기본 실행 계획 항목 분석실행 계획을 조회하면 나타나는 각 컬럼들의 역할을 알아보자 3.2.2.1 id단위 SELECT 쿼리별로 부여되는 식별자 값이다. 하나의 SELECT 문장 안에서 여러 개의 테이블을 ..

1. DB 엔진 1.1 스토리지 엔진스토리지 엔진은 데이터를 관리하는 엔진이며 데이터 저장 방식에 따라 엔진이 구분된다. MySQL은 InnoDB 스토리지 엔진을 기본적으로 사용하며 InnoDB는 클러스터링 인덱스 방식으로 데이터를 저장한다. MySQL 엔진이 요청한 데이터를 디스크나 메모리에서 찾아서 MySQL 엔진에게 전달한다. 1.2 MySQL 엔진사용자가 요청한 SQL문을 SQL 파서와 전처리기(Preprocessor)에서 문법 검사를 진행하고 SQL 옵티마이저에 의해 데이터를 가져올 최적의 계획을 세운 후 스토리지 엔진에게 실행 계획대로 데이터를 가져오길 요청한다. 스토리지 엔진으로부터 넘겨받은 데이터에서 불필요한 데이터는 제거하고 가공 및 연산을 진행한다. 그리고 사용자에게 결과 데이터를 전..

MySQL 공식 샘플데이터 설치를 희망하면 공식 웹페이지 https://dev.mysql.com/doc/index-other.html로 이동한다.원하는 샘플데이터를 Zip파일로 다운로드를 받는다. 지금은 employee data를 설치할 예정이라서 GitHub를 클릭하여 웹 페이지 이동을 한다.GitHub를 클릭하면 https://github.com/datacharmer/test_db로 이동된다." Code" 버튼을 클릭하면 Drop-Down Menu가 나타난다. 메뉴 중 "Download ZIP"을 클릭하여 "test-db-master.zip" 압축파일을 다운로드 받는다. 다운로드 파일을 경로가 간단한 곳으로 이동한다. C:\ 로 이동하자.압축파일을 압축 해제한다. 주의사항으로 압축파일 안에 폴더(폴더..

2025-03-13 기준, 웹페이지 https://dev.mysql.com/downloads/ 으로 이동한다.위 화면이 나타나면 "MySQL Installer for Windows" 링크를 클릭한다.Select Version: 원하는 Version을 선택Select Operating System: MySQL을 설치할 운영체제를 선택Download: 352.2M 다운로드 버튼을 선택디폴트로 화면에 보이는대로 선택된다. 디폴트 상태로 아래 Download 버튼을 클릭한다. 오라클 사이트에 비로그인 상태면 위와 같은 화면이 나타난다. 로그인을 진행하거나 "No thanks, just start my download." 링크를 클릭하여 설치 파일을 내려받자.컴퓨터에 다운로드한 파일 "mysql-installer..

1. GROUP BY 처리GROUP BY 절이 있는 쿼리에서는 HAVING 절을 사용할 수 있는데 HAVING 절은 GROUP BY 결과에 대한 필터링 역할을 수행한다. GROUP BY에 사용된 조건은 인덱스를 사용할 수 없기 때문에 HAVING 절을 튜닝하려고 고민할 필요는 없다.GROUP BY 작업 구분인덱스 사용 여부작업 방법인덱스 사용 가능인덱스 스캔루스 인덱스 스캔인덱스 사용 불가능임시 테이블 2. 인덱스 스캔을 이용하는 GROUP BY (타이트 인덱스 스캔)ORDER BY 처리와 마찬가지로 조인의 드라이빙 테이블에 속한 컬럼만 이용해 그루핑할 때 인덱스가 있다면 그 인덱스를 차레대로 읽으면서 그루핑 작업을 수행하고 그 결과와 조인을 처리한다. 이 경우라도 그룹 함수 등의 그룹값을 처리해야 하는..