상세정보
미리보기
Real MySQL 8.0 2권
- 저자
- 백은빈,이성욱 공저
- 출판사
- 위키북스
- 출판일
- 2021-12-10
- 등록일
- 2022-06-21
- 파일포맷
- PDF
- 파일크기
- 12MB
- 공급사
- 예스이십사
- 지원기기
-
PC
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
『Real MySQL 8.0』은 『Real MySQL』을 정제해서 꼭 필요한 내용으로 압축하고, MySQL 8.0의 GTID와 InnoDB 클러스터 기능들과 소프트웨어 업계 트렌드를 반영한 GIS 및 전문 검색 등의 확장 기능들을 추가로 수록했다. 또한 『Real MySQL 8.0』은 단순 SQL 문법이나 쿼리 작성보다는 MySQL 서버를 활용하는 프로젝트에서 꼭 필요한 경험과 지식을 전달하는 데 집중했다.
저자소개
컴퓨터 과학을 전공하고, 금융권의 CRM/DW 프로젝트 리더로 참여했으며, 2년여간 DW를 위한 ETL 솔루션을 개발했다. 이후 네이버와 라인의 DBA로 근무했으며 현재 카카오에서 DB 운영과 트러블슈팅 그리고 신기술 벤치마킹과 DBMS 엔진 최적화를 수행하고 있다. 또한 지금까지 배운 내용과 경험한 것을 전파하기 위해서 저술 활동과 세미나를 진행하고 있다. 저서로는 『PHP 5 웹 프로그래밍 (2007. 대림)』,『Real MySQL(2012. 위키북스)』,『Real MariaDB(2014. 위키북스)』가 있고, 번역서로는 『MySQL 성능 최적화(2010. 위키북스)』가 있다.
목차
▣ 11장: 쿼리 작성 및 최적화
11.1 쿼리 작성과 연관된 시스템 변수
___11.1.1 SQL 모드
___11.1.2 영문 대소문자 구분
___11.1.3 MySQL 예약어
11.2 매뉴얼의 SQL 문법 표기를 읽는 방법
11.3 MySQL 연산자와 내장 함수
___11.3.1 리터럴 표기법 문자열
___11.3.2 MySQL 연산자
___11.3.3 MySQL 내장 함수
11.4 SELECT
___11.4.1 SELECT 절의 처리 순서
___11.4.2 WHERE 절과 GROUP BY 절, ORDER BY 절의 인덱스 사용
___11.4.3 WHERE 절의 비교 조건 사용 시 주의사항
___11.4.4 DISTINCT
___11.4.5 LIMIT n
___11.4.6 COUNT()
___11.4.7 JOIN
___11.4.8 GROUP BY
___11.4.9 ORDER BY
___11.4.10 서브쿼리
___11.4.11 CTE(Common Table Expression)
___11.4.12 윈도우 함수(Window Function)
11.4.13 잠금을 사용하는 SELECT
11.5 INSERT
___11.5.1 고급 옵션
___11.5.2 LOAD DATA 명령 주의 사항
___11.5.3 성능을 위한 테이블 구조
11.6 UPDATE와 DELETE
___11.6.1 UPDATE ... ORDER BY ... LIMIT n
___11.6.2 JOIN UPDATE
___11.6.3 여러 레코드 UPDATE
___11.6.4 JOIN DELETE
11.7 스키마 조작(DDL)
___11.7.1 온라인 DDL
___11.7.2 데이터베이스 변경
___11.7.3 테이블 스페이스 변경
___11.7.4 테이블 변경
___11.7.5 칼럼 변경
___11.7.6 인덱스 변경
___11.7.7 테이블 변경 묶음 실행
___11.7.8 프로세스 조회 및 강제 종료
___11.7.9 활성 트랜잭션 조회
11.8 쿼리 성능 테스트
___11.8.1 쿼리의 성능에 영향을 미치는 요소
▣ 12장: 확장 검색
12.1 전문 검색
___12.1.1 전문 검색 인덱스의 생성과 검색
___12.1.2 전문 검색 쿼리 모드
___12.1.3 전문 검색 인덱스 디버깅
12.2 공간 검색
___12.2.1 용어 설명
___12.2.2 SRS(Spatial Reference System)
___12.2.3 투영 좌표계와 평면 좌표계
___12.2.4 지리 좌표계
▣ 13장: 파티션
13.1 개요
___13.1.1 파티션을 사용하는 이유
___13.1.2 MySQL 파티션의 내부 처리
13.2 주의사항
___13.2.1 파티션의 제약 사항
___13.2.2 파티션 사용 시 주의사항
13.3 MySQL 파티션의 종류
___13.3.1 레인지 파티션
___13.3.2 리스트 파티션
___13.3.3 해시 파티션
___13.3.4 키 파티션
___13.3.5 리니어 해시 파티션/리니어 키 파티션
___13.3.6 파티션 테이블의 쿼리 성능
▣ 14장: 스토어드 프로그램
14.1 스토어드 프로그램의 장단점
___14.1.1 스토어드 프로그램의 장점
___14.1.2 스토어드 프로그램의 단점
14.2 스토어드 프로그램의 문법
___14.2.1 예제 테스트 시 주의사항
___14.2.2 스토어드 프로시저
___14.2.3 스토어드 함수
___14.2.4 트리거
___14.2.5 이벤트
___14.2.6 스토어드 프로그램 본문(Body) 작성
14.3 스토어드 프로그램의 보안 옵션
___14.3.1 DEFINER와 SQL SECURITY 옵션
___14.3.2 DETERMINISTIC과 NOT DETERMINISTIC 옵션
14.4 스토어드 프로그램의 참고 및 주의사항
___14.4.1 한글 처리
___14.4.2 스토어드 프로그램과 세션 변수
___14.4.3 스토어드 프로시저와 재귀 호출
___14.4.4 중첩된 커서 사용
▣ 15장: 데이터 타입
15.1 문자열(CHAR와 VARCHAR)
___15.1.1 저장 공간
___15.1.2 저장 공간과 스키마 변경(Online DDL)
___15.1.3 문자 집합(캐릭터 셋)
___15.1.4 콜레이션(Collation)
___15.1.5 비교 방식
___15.1.6 문자열 이스케이프 처리
15.2 숫자
___15.2.1 정수
___15.2.2 부동 소수점
___15.2.3 DECIMAL
___15.2.4 정수 타입의 칼럼을 생성할 때의 주의사항
___15.2.5 자동 증가(AUTO_INCREMENT) 옵션 사용
15.3 날짜와 시간
___15.3.1 자동 업데이트
15.4 ENUM과 SET
___15.4.1 ENUM
___15.4.2 SET
15.5 TEXT와 BLOB
15.6 공간 데이터 타입
___15.6.1 공간 데이터 생성
___15.6.2 공간 데이터 조회
15.7 JSON 타입
___15.7.1 저장 방식
___15.7.2 부분 업데이트 성능
___15.7.3 JSON 타입 콜레이션과 비교
___15.7.4 JSON 칼럼 선택
___15.8 가상 칼럼(파생 칼럼)
▣ 16장: 복제
16.1 개요
16.2 복제 아키텍처
16.3 복제 타입
___16.3.1 바이너리 로그 파일 위치 기반 복제
___16.3.2 글로벌 트랜잭션 아이디(GTID) 기반 복제
16.4 복제 데이터 포맷
___16.4.1 Statement 기반 바이너리 로그 포맷
___16.4.2 Row 기반 바이너리 로그 포맷
___16.4.3 Mixed 포맷
___16.4.4 Row 포맷의 용량 최적화
16.5 복제 동기화 방식
___16.5.1 비동기 복제(Asynchronous replication)
___16.5.2 반동기 복제(Semi-synchronous replication)
16.6 복제 토폴로지
___16.6.1 싱글 레플리카 복제 구성
___16.6.2 멀티 레플리카 복제 구성
___16.6.3 체인 복제 구성
___16.6.4 듀얼 소스 복제 구성
___16.6.5 멀티 소스 복제 구성
16.7 복제 고급 설정
___16.7.1 지연된 복제(Delayed Replication)
___16.7.2 멀티 스레드 복제(Multi-threaded Replication)
___16.7.3 크래시 세이프 복제(Crash-safe Replication)
___16.7.4 필터링된 복제(Filtered Replication)
▣ 17장: InnoDB 클러스터
17.1 InnoDB 클러스터 아키텍처
17.2 그룹 복제(Group Replication)
___17.2.1 그룹 복제 아키텍처
___17.2.2 그룹 복제 모드
___17.2.3 그룹 멤버 관리(Group Membership)
___17.2.4 그룹 복제에서의 트랜잭션 처리
___17.2.5 그룹 복제의 자동 장애 감지 및 대응
___17.2.6 그룹 복제의 분산 복구
___17.2.7 그룹 복제 요구사항
___17.2.8 그룹 복제 제약 사항
17.3 MySQL 셸
17.4 MySQL 라우터
17.5 InnoDB 클러스터 구축
___17.5.1 InnoDB 클러스터 요구사항
___17.5.2 InnoDB 클러스터 생성
17.6 InnoDB 클러스터 모니터링
17.7 InnoDB 클러스터 작업
___17.7.1 클러스터 모드 변경
___17.7.2 프라이머리 변경
___17.7.3 인스턴스 제거
___17.7.4 클러스터 해체
___17.7.5 클러스터 및 인스턴스 설정 변경
17.8 InnoDB 클러스터 트러블슈팅
___17.8.1 클러스터 인스턴스 장애
___17.8.2 클러스터의 정족수 손실
17.9 InnoDB 클러스터 버전 업그레이드
17.10 InnoDB 클러스터 제약 사항
▣ 18장: Performance 스키마 & Sys 스키마
18.1 Performance 스키마란?
18.2 Performance 스키마 구성
___18.2.1 Setup 테이블
___18.2.2 Instance 테이블
___18.2.3 Connection 테이블
___18.2.4 Variable 테이블
___18.2.5 Event 테이블
___18.2.6 Summary 테이블
___18.2.7 Lock 테이블
___18.2.8 Replication 테이블
___18.2.9 Clone 테이블
___18.2.10 기타 테이블
18.3 Performance 스키마 설정
___18.3.1 메모리 사용량 설정
___18.3.2 데이터 수집 및 저장 설정
18.4 Sys 스키마란?
18.5 Sys 스키마 사용을 위한 사전 설정
18.6 Sys 스키마 구성
18.7 Performance 스키마 및 Sys 스키마 활용 예제
___18.7.1 호스트 접속 이력 확인
___18.7.2 미사용 DB 계정 확인
___18.7.3 MySQL 총 메모리 사용량 확인
___18.7.4 스레드별 메모리 사용량 확인
___18.7.5 미사용 인덱스 확인
___18.7.6 중복된 인덱스 확인
___18.7.7 변경이 없는 테이블 목록 확인
___18.7.8 I/O 요청이 많은 테이블 목록 확인
___18.7.9 테이블별 작업량 통계 확인
___18.7.10 테이블의 Auto-Increment 칼럼 사용량 확인
___18.7.11 풀 테이블 스캔 쿼리 확인
___18.7.12 자주 실행되는 쿼리 목록 확인
___18.7.13 실행 시간이 긴 쿼리 목록 확인
___18.7.14 정렬 작업을 수행한 쿼리 목록 확인
___18.7.15 임시 테이블을 생성하는 쿼리 목록 확인
___18.7.16 트랜잭션이 활성 상태인 커넥션에서 실행한 쿼리 내역 확인
___18.7.17 쿼리 프로파일링
___18.7.18 ALTER 작업 진행률 확인
___18.7.19 메타데이터 락 대기 확인
___18.7.20 데이터 락 대기 확인