일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Workbench
- 완전서브타입
- mysql
- index
- 제5정규형
- 실행계획
- 더미데이터
- 제4정규형
- 데이터통합
- 요구사항명세서
- 함수종속
- 물리모델
- 워크벤치
- 인덱스
- group-by
- 제1정규형
- vue3
- 서브타입
- order-by
- 샘플데이터
- 제3정규형
- 불완전서브타입
- 정규형
- 크롬원격데스크톱
- 중복서브타입
- bc정규형
- 배타서브타입
- 공통코드
- SQL
- 제2정규형
- Today
- Total
목록분류 전체보기 (57)
domsam - IT 기술 블로그

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 처리와 마찬가지로 조인의 드라이빙 테이블에 속한 컬럼만 이용해 그루핑할 때 인덱스가 있다면 그 인덱스를 차레대로 읽으면서 그루핑 작업을 수행하고 그 결과와 조인을 처리한다. 이 경우라도 그룹 함수 등의 그룹값을 처리해야 하는..
1. ORDER BY 처리정렬을 처리하는 방법은 인덱스를 이용하는 방법과 쿼리가 실행될 때 'Filesort'라는 별도의 처리를 이용하는 방법이 있다. 장점단점인덱스 이용INSERT, UPDATE, DELETE 쿼리가 실행될 때 정렬을 해서 처리한다.결국 정렬이 이미 되어 있는 상태이기 때문에 읽기 속도가 매우 빠르다.INSERT, UPDATE, DELETE 작업 시 부가적인 인덱스 추가/삭제 작업이 필요하므로 비용이 더 든다.인덱스 때문에 디스크 공간이 더 많이 필요하다. 인덱스의 개수가 늘어날수록 InnoDB 버퍼 풀을 위한 메모리가 많이 필요하다. Filesort 이용인덱스를 생성하지 않아도 되므로 인덱스 이용의 단점이 장점으로 바뀐다. 정렬해야 할 레코드가 많지 않으면 메모리에서 Filesort..

1. 쿼리 실행 절차① SQL Parser: 요청된 SQL문장을 MySQL 서버가 이해할 수 있는 수준으로 분리하고 문법상 문제가 없는지 확인한다. ② Optimiser: SQL 파스 트리를 확인하면서 어떤 테이블에서 어떤 인덱스를 이용해 테이블을 읽을지 실행계획을 세운다.③ 실행계획대로 스토리지 엔진으로부터 데이터를 가져온다. 2. 옵티마이저 역할불필요한 조건 제거 및 복잡한 연산의 단순화여러 테이블의 조인이 있는 경우 어떤 순서로 테이블을 읽을지 결정각 테이블에 사용된 조건과 인덱스 통계 정보를 이용해 사용할 인덱스 결정가져온 레코드들을 임시 테이블에 넣고 다시 한번 가공해야 하는지 결정 3. 비용 기반 최적화 옵티마이저옵티마이저는 DBMS 두뇌와 같은 역할을 하며 MySQL의 옵티마이저는 비용 기반..

책에 비유하자면클러스터링 인덱스는 페이지를 이미 알기 때문에 바로 그 페이지를 펴는 것세컨더리 인덱스는 목차에서 찾고자 하는 내용의 페이지를 찾고 그 페이지로 이동하는 것테이블 스캔은 처음부터 한 장씩 넘기면서 내용을 찾는 것이다. 1. 클러스터링 인덱스클러스터링이란 여러 개를 하나로 묶는다는 의미로 주로 사용된다. MySQL에서 클러스터링 인덱스는 InnoDB 스토리지 엔진에서만 지원하며 PRIMARY KEY(이하 PK)를 기준으로 여러 레코드를 묶어서 저장하는 형태로 구현된다. 이는 비슷한 값들을 동시에 조회하는 경우가 많다는 점에서 착안한 것이다. 여기서 중요한 점은 PK 값에 의해 레코드의 물리적인 저장 위치가 결정된다는 것이다. 또한 PK 값이 변경된다면 그 레코드의 물리적인 저장 위치가 바뀌..