HOME > 상세정보

상세정보

(개발자와 DBA를 위한) real MySQL (52회 대출)

자료유형
단행본
개인저자
이성욱
서명 / 저자사항
(개발자와 DBA를 위한) real MySQL / 이성욱 지음
발행사항
파주 :   위키북스,   2012  
형태사항
1027 p. : 삽화, 도표 ; 25 cm
총서사항
위키북스 오픈소스 & 웹 시리즈 ;038
ISBN
9788992939003
일반주기
부록: 1. MySQL 5.1(InnoDB Plugin 1.0)의 새로운 기능, 2. MySQL 5.5(InnoDB Plugin 1.1)의 새로운 기능, 3. MySQL 5.6의 새로운 기능  
색인수록  
000 00824camcc2200253 c 4500
001 000045707005
005 20120529152009
007 ta
008 120525s2012 ggkad 001c kor
020 ▼a 9788992939003 ▼g 93560
035 ▼a (KERIS)BIB000012770270
040 ▼a 211062 ▼c 211062 ▼d 211009
082 0 4 ▼a 005.7565 ▼2 22
085 ▼a 005.7565 ▼2 DDCK
090 ▼a 005.7565 ▼b 2012z2
100 1 ▼a 이성욱 ▼0 AUTH(211009)23693
245 2 0 ▼a (개발자와 DBA를 위한) real MySQL / ▼d 이성욱 지음
260 ▼a 파주 : ▼b 위키북스, ▼c 2012
300 ▼a 1027 p. : ▼b 삽화, 도표 ; ▼c 25 cm
440 0 0 ▼a 위키북스 오픈소스 & 웹 시리즈 ; ▼v 038
500 ▼a 부록: 1. MySQL 5.1(InnoDB Plugin 1.0)의 새로운 기능, 2. MySQL 5.5(InnoDB Plugin 1.1)의 새로운 기능, 3. MySQL 5.6의 새로운 기능
500 ▼a 색인수록
945 ▼a KLPA

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.7565 2012z2 등록번호 111667016 (13회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.7565 2012z2 등록번호 121220090 (20회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.7565 2012z2 등록번호 121220091 (19회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 4 소장처 세종학술정보원/과학기술실(5층)/ 청구기호 005.7565 2012z2 등록번호 151342592 도서상태 대출가능 반납예정일 예약 서비스 B M ?
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.7565 2012z2 등록번호 111667016 (13회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.7565 2012z2 등록번호 121220090 (20회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.7565 2012z2 등록번호 121220091 (19회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실(5층)/ 청구기호 005.7565 2012z2 등록번호 151342592 도서상태 대출가능 반납예정일 예약 서비스 B M ?

컨텐츠정보

책소개

지금까지의 매뉴얼 번역이나 단편적인 지식 수준을 벗어나 저자와 다른 많은 MySQL 전문가의 경험과 노력의 결과를 여러분에게 전해줄 것이다. 또한 이 책에서는 많은 그림과 벤치마크 결과를 함께 수록해 MySQL을 처음 접하는 사용자도 쉽게 이해할 수 있게 구성했다.

이 책을 계기로 지금까지 지니고 있었던 MySQL에 대한 선입견 대신 MySQL의 새로운 면모를 익히고 경험하게 되리라 확신한다. 만약 MySQL을 공부하고 있거나 MySQL을 이용한 서비스 개발이나 운영을 해야 한다면 지금 당장 이 책을 살펴보길 권장한다. 지금까지 알고 있는 것들을 넘어서서 새로운 MySQL을 경험하게 될 것이다.

Real MySQL은 기본적인 SQL 문법 소개나 매뉴얼의 번역 수준을 벗어나서 MySQL을 이용하는 애플리케이션 개발이나 운영을 통해 얻은 경험과 지식, 그리고 반드시 알고 있어야 할 주의사항 위주로 내용을 구성했다. 이 책을 처음부터 끝까지 다 읽는다면 더없이 좋겠지만, 필요하거나 관심 있는 내용 위주로 살펴봐도 지금까지 가지고 있었던 많은 고민거리를 해결할 수 있을 것이다.

★ 이 책에서 다루는 내용 ★

o MySQL 서버의 아키텍처와 MySQL 설치
o 인덱스의 종류와 구조 및 활용
o 쿼리의 실행 계획 분석 및 최적화
o MySQL 서버와 연동하는 프로그램 개발
o 스토어드 프로그램 개발 및 사용자 변수 활용
o 데이터 모델링 및 최적의 데이터 타입 선정
o 개발을 위한 베스트 프랙티스
o MySQL 서버 응급처치

Real MySQL, MySQL의 새로운 발견!
더 이상 MySQL은 커뮤니티나 소셜 네트워크 서비스와 떼어놓을 수 없는 관계에 있다는 것은 누구나 잘 알고 있을 것이다. 하지만 MySQL은 여기서 그치지 않고 빌링이나 결제와 같은 금전적인 처리용으로도 많이 사용되고 있는데, 이는 MySQL의 트랜잭션 처리나 안정성이 오라클과 비교해서 전혀 뒤처지지 않음을 의미한다고 볼 수 있다. 사실 MySQL(InnoDB)의 내부 처리 방식은 오라클의 그것과 거의 다르지 않기 때문에 이는 당연한 결과라고 볼 수 있다.
이 책은 지금까지의 매뉴얼 번역이나 단편적인 지식 수준을 벗어나 저자와 다른 많은 MySQL 전문가의 경험과 노력의 결과를 여러분에게 전해줄 것이다. 또한 이 책에서는 많은 그림과 벤치마크 결과를 함께 수록해 MySQL을 처음 접하는 사용자도 쉽게 이해할 수 있게 구성했다. 이 책을 계기로 지금까지 지니고 있었던 MySQL에 대한 선입견 대신 MySQL의 새로운 면모를 익히고 경험하게 되리라 확신한다.
만약 MySQL을 공부하고 있거나 MySQL을 이용한 서비스 개발이나 운영을 해야 한다면 지금 당장 이 책을 살펴보길 권장한다. 지금까지 알고 있는 것들을 넘어서서 새로운 MySQL을 경험하게 될 것이다.

【RealMySQL 네이버 카페】
아래 카페에서 이 책에 대한 질의 응답이나 소스 코드를 내려받을 수 있다.
http://cafe.naver.com/realmysql


정보제공 : Aladin

저자소개

이성욱(지은이)

컴퓨터 과학을 전공하고 네이버와 라인을 거쳐 카카오 및 밸런스히어로에서 DBA로 근무했으며, 현재 당근마켓 DB팀 리더로 근무하고 있다. 저서 - PHP5 웹 프로그래밍 - MySQL 성능 최적화 - Real MySQL 번역서 - MySQL 성능 최적화(2010. 위키북스)

정보제공 : Aladin

목차

목차
01장 소개
 1.1 MySQL 소개 = 22
 1.2 왜 MySQL인가? = 23
02장 설치와 설정
 2.1 MySQL 다운로드 = 27
 2.2 MySQL 서버 설치 = 29
  2.2.1 리눅스에 설치 = 30
  2.2.2 윈도우에 설치(MSI) = 36
 2.3 서버 설정 = 44
  2.3.1 설정 파일의 구성 = 45
  2.3.2 MySQL 시스템 변수의 특징 = 46
  2.3.3 글로벌 변수와 세션 변수 = 48
  2.3.4 동적 변수와 정적 변수 = 49
  2.3.5 my.cnf 설정 파일 = 51
 2.4 MySQL 서버의 시작과 종료 = 74
  2.4.1 시작과 종료 = 74
  2.4.2 서버 연결 테스트 = 76
 2.5 MySQL 복제 구축 = 79
  2.5.1 설정 준비 = 79
  2.5.2 복제 계정 준비 = 81
  2.5.3 데이터 복사 = 81
  2.5.4 복제 시작 = 82
 2.6 권한 관리 = 84
  2.6.1 사용자의 식별 = 84
  2.6.2 권한 = 85
 2.7 예제 데이터 적재 = 91
 2.8 전문 검색을 위한 MySQL 설치 = 93
  2.8.1 MySQL의 내장 전문 검색 엔진 = 94
  2.8.2 MySQL 5.0 버전의 트리톤 설치 = 94
  2.8.3 MySQL 5.1 버전의 mGroonga 설치 = 97
03장 아키텍처
 3.1 MySQL 아키텍처 = 102
  3.1.1 MySQL의 전체 구조 = 102
  3.1.2 MySQL 쓰레딩 구조 = 103
  3.1.3 메모리 할당 및 사용 구조 = 105
  3.1.4 플러그-인 스토리지 엔진 모델 = 106
  3.1.5 쿼리 실행 구조 = 110
  3.1.6 복제(Replication) = 111
  3.1.7 쿼리 캐시 = 114
 3.2 InnoDB 스토리지 엔진 아키텍처 = 119
  3.2.1 InnoDB 스토리지 엔진의 특성 = 120
  3.2.2 InnoDB 버퍼 풀 = 121
  3.2.3 언두(Undo) 로그 = 122
  3.2.4 인서트 버퍼(Insert Buffer) = 122
  3.2.5 리두(Redo) 로그 및 로그 버퍼 = 123
  3.2.6 MVCC(Multi Version Concurrency Control) = 124
  3.2.7 잠금 없는 일관된 읽기(Non-locking consistent read) = 127
  3.2.8 InnoDB와 MyISAM 스토리지 엔진 비교 = 127
  3.2.9 InnoDB와 MEMORY(HEAP)스토리지 엔진 비교 = 131
 3.3 MyISAM 스토리지 엔진 아키텍처 = 133
  3.3.1 키 캐시 = 133
  3.3.2 운영체제의 캐시 및 버퍼 = 135
 3.4 MEMORY 스토리지 엔진 아키텍처 = 135
  3.4.1 주의 사항 = 136
  3.4.2 MEMORY 스토리지 엔진의 용도 = 136
 3.5 NDB 클러스터 스토리지 엔진 = 137
  3.5.1 NDB 클러스터의 특성 = 137
  3.5.2 NDB 클러스터의 아키텍처 = 140
  3.5.3 클러스터 간의 복제 구성 = 146
  3.5.4 NDB 클러스터의 성능 = 147
  3.5.5 NDB 클러스터의 네트워크 영향 = 150
  3.5.6 NDB 클러스터의 용도 = 151
 3.6 TOKUDB 스토리지 엔진 = 151
  3.6.1 프랙탈 트리(Fractal Tree) 인덱스 지원 = 152
  3.6.2 대용량 데이터와 빠른 INSERT 처리 = 152
  3.6.3 트랜잭션 및 잠금 처리 = 153
  3.6.4 그 이외의 특징 = 153
  3.6.5 TokuDB의 주 용도 = 153
 3.7 전문 검색 엔진 = 154
  3.7.1 트리톤 전문 검색 엔진 = 154
  3.7.2 mGroonga 전문 검색 엔진(플러그인) = 155
  3.7.3 스핑크스 전문 검색 엔진 = 157
 3.8 MySQL 로그 파일 = 158
  3.8.1 에러 로그 파일 = 158
  3.8.2 제너럴 쿼리 로그 파일(제너럴 로그 파일, General log) = 160
  3.8.3 슬로우 쿼리 로그 = 161
  3.8.4 바이너리 로그와 릴레이 로그 = 163
04장 트랜잭션과 잠금
 4.1 트랜잭션 = 166
  4.1.1 MySQL에서의 트랜잭션 = 166
  4.1.2 주의사항 = 169
 4.2 MySQL 엔진의 잠금 = 171
  4.2.1 글로벌 락 = 171
  4.2.2 테이블 락(TABLE LOCK) = 172
  4.2.3 유저 락(USER LOCK) = 172
  4.2.4 네임 락 = 173
 4.3 MyISAM과 MEMORY 스토리지 엔진의 잠금 = 174
  4.3.1 잠금 획득 = 174
  4.3.2 잠금 튜닝 = 174
  4.3.3 테이블 수준의 잠금 확인 및 해제 = 175
 4.4 InnoDB 스토리지 엔진의 잠금 = 177
  4.4.1 InnoDB의 잠금 방식 = 178
  4.4.2 InnoDB의 잠금 종류 = 178
  4.4.3 인덱스와 잠금 = 181
  4.4.4 트랜잭션 격리 수준과 잠금 = 183
  4.4.5 레코드 수준의 잠금 확인 및 해제 = 184
 4.5 MySQL의 격리 수준 = 191
  4.5.1 READ UNCOMMITTED = 192
  4.5.2 READ COMMITTED = 193
  4.5.3 REPEATABLE READ = 195
  4.5.4 SERIALIZABLE = 198
  4.5.5 REPEATABLE READ 격리 수준과 READ COMMITTED 격리 수준의 성능 비교 = 198
05장 인덱스
 5.1 디스크 읽기 방식 = 201
  5.1.1 저장 매체 = 201
  5.1.2 디스크 드라이브와 솔리드 스테이트 드라이브 = 202
  5.1.3 랜덤 I/O와 순차 I/O = 204
 5.2 인덱스란? = 206
 5.3 B-Tree 인덱스 = 208
  5.3.1 구조 및 특성 = 209
  5.3.2 B-Tree 인덱스 키 추가 및 삭제 = 211
  5.3.3 B-Tree 인덱스 사용에 영향을미치는 요소 = 214
  5.3.4 B-Tree 인덱스를 통한 데이터 읽기 = 218
  5.3.5 다중 칼럼(Multi-column) 인덱스 = 223
  5.3.6 B-Tree 인덱스의 정렬 및 스캔 방향 = 225
  5.3.7 B-Tree 인덱스의 가용성과 효율성 = 228
 5.4 해시(Hash) 인덱스 = 233
  5.4.1 구조 및 특성 = 233
  5.4.2 해시 인덱스의 가용성 및 효율성 = 235
 5.5 R-Tree 인덱스 = 236
  5.5.1 구조 및 특성 = 237
  5.5.2 R-Tree 인덱스의 용도 = 240
 5.6 Fractal-Tree 인덱스 = 241
  5.6.1 Fractal-Tree의 특성 = 241
  5.6.2 Fractal-Tree의 가용성과 효율성 = 243
 5.7 전문 검색(Full Text search) 인덱스 = 244
  5.7.1 인덱스 알고리즘 = 244
  5.7.2 구분자와 n그램의 차이 = 246
  5.7.3 전문 검색 인덱스의 가용성 = 249
 5.8 비트맵 인덱스와 함수 기반 인덱스 = 250
 5.9 클러스터링 인덱스 = 250
  5.9.1 클러스터링 인덱스 = 250
  5.9.2 보조 인덱스(Secondary index)에 미치는 영향 = 253
  5.9.3 클러스터 인덱스의 장점과 단점 = 254
  5.9.4 클러스터 테이블 사용시 주의사항 = 255
 5.10 유니크 인덱스 = 256
  5.10.1 유니크 인덱스와 일반 보조 인덱스의 비교 = 256
  5.10.2 유니크 인덱스 사용 시 주의사항 = 257
 5.11 외래키 = 258
  5.11.1 자식 테이블의 변경이 대기하는 경우 = 259
  5.11.2 부모 테이블의 변경 작업이 대기하는 경우 = 260
 5.12 기타 주의사항 = 260
06장 실행 계획
 6.1 개요 = 263
  6.1.1 쿼리 실행 절차 = 263
  6.1.2 옵티마이저의 종류 = 265
  6.1.3 통계 정보 = 265
 6.2 실행 계획 분석 = 266
  6.2.1 id 칼럼 = 268
  6.2.2 select_type 칼럼 = 269
  6.2.3 table 칼럼 = 277
  6.2.4 type 칼럼 = 280
  6.2.5 possible_keys = 292
  6.2.6 key = 292
  6.2.7 key_len = 293
  6.2.8 ref = 295
  6.2.9 rows = 296
  6.2.10 Extra = 298
  6.2.11 EXPLAIN EXTENDED(Filtered 칼럼) = 326
  6.2.12 EXPLAIN EXTENDED(추가 옵티마이저 정보) = 327
  6.2.13 EXPLAIN PARTITIONS(Partitions 칼럼) = 328
 6.3 MySQL의 주요 처리 방식 = 330
  6.3.1 풀 테이블 스캔 = 330
  6.3.2 ORDER BY 처리(Using filesort) = 331
  6.3.3 GROUP BY 처리 = 347
  6.3.4 DISTINCT 처리 = 351
  6.3.5 임시 테이블(Using temporary) = 354
  6.3.6 테이블 조인 = 358
 6.4 실행 계획 분석 시 주의사항 = 373
  6.4.1 Select_type 칼럼의 주의 대상 = 373
  6.4.2 Type 칼럼의 주의 대상 = 374
  6.4.3 Key 칼럼의 주의 대상 = 374
  6.4.4 Rows 칼럼의 주의 대상 = 374
  6.4.5 Extra 칼럼의 주의 대상 = 374
07장 쿼리 작성 및 최적화
 7.1 쿼리와 연관된 시스템 설정 = 377
  7.1.1 SQL 모드 = 378
  7.1.2 영문 대소문자 구분 = 379
  7.1.3 MySQL 예약어 = 380
 7.2 매뉴얼의 SQL 문법 표기를 읽는 방법 = 380
 7.3 MySQL 연산자와 내장 함수 = 382
  7.3.1 리터럴 표기법 = 382
  7.3.2 MySQL 연산자 = 385
  7.3.3 MySQL 내장 함수 = 397
  7.3.4 SQL 주석 = 417
 7.4 SELECT = 419
  7.4.1 SELECT 각 절의 처리 순서 = 419
  7.4.2 WHERE 절과 GROUP BY 절,그리고 ORDER BY 절의 인덱스 사용 = 422
  7.4.3 WHERE 절의 비교 조건 사용 시 주의사항 = 432
  7.4.4 DISTINCT = 438
  7.4.5 LIMIT n = 441
  7.4.6 JOIN = 443
  7.4.7 GROUP BY = 461
  7.4.8 ORDER BY = 468
  7.4.9 서브 쿼리 = 475
  7.4.10 집합 연산 = 487
  7.4.11 LOCK IN SHARE MODE와 FOR UPDATE = 491
  7.4.12 SELECT INTO OUTFILE = 492
 7.5 INSERT = 494
  7.5.1 INSERT와 AUTO_INCREMENT = 495
  7.5.2 INSERT IGNORE = 501
  7.5.3 REPLACE = 502
  7.5.4 INSERT INTO …ON DUPLICATE KEY UPDATE … = 504
  7.5.5 INSERT ... SELECT = 506
  7.5.6 LOAD DATA(LOCAL) INFILE … = 506
 7.6 UPDATE = 516
  7.6.1 UPDATE … ORDER BY … LIMIT n = 516
  7.6.2 JOIN UPDATE = 517
 7.7 DELETE = 520
  7.7.1 DELETE … ORDER BY … LIMIT n = 520
  7.7.2 JOIN DELETE = 520
 7.8 스키마 조작 (DDL) = 522
  7.8.1 데이터베이스 = 522
  7.8.2 테이블 = 524
  7.8.3 칼럼 변경 = 535
  7.8.4 인덱스 변경 = 538
  7.8.5 프로세스 조회 = 542
  7.8.6 프로세스 강제 종료 = 544
  7.8.7 시스템 변수 조회 및 변경 = 544
  7.8.8 경고나 에러 조회 = 545
  7.8.9 권한 조회 = 546
 7.9 SQL 힌트 = 546
  7.9.1 힌트의 사용법 = 547
  7.9.2 STRAIGHT_JOIN = 547
  7.9.3 USE INDEX/FORCE INDEX/IGNORE INDEX = 551
  7.9.4 SQL_CACHE/SQL_NO_CACHE = 553
  7.9.5 SQL_CALC_FOUND_ROWS = 555
  7.9.6 기타 힌트 = 557
 7.10 쿼리 성능 테스트 = 557
  7.10.1 쿼리의 성능에 영향을 미치는 요소 = 557
  7.10.2 쿼리의 성능 테스트 = 560
  7.10.3 쿼리 프로파일링 = 562
08장 확장 기능
 8.1 전문 검색 = 567
  8.1.1 전문 검색 엔진의 종류와 특성 = 567
  8.1.2 MySQL 빌트인 전문 검색 = 570
  8.1.3 트리톤 전문 검색 = 578
  8.1.4 mGroonga 전문 검색 = 584
 8.2 공간 검색 = 587
  8.2.1 R-Tree 인덱스를 사용하는 이유 = 587
  8.2.2 위도나 경도 정보를 이용한 거리 계산 = 589
  8.2.3 R-Tree를 이용한 위치 검색 = 592
09장 사용자 정의 변수
 9.1 사용자 정의 변수 소개 = 597
 9.2 사용자 변수의 기본 활용 = 600
 9.3 사용자 변수의 적용 예제 = 603
  9.3.1 N 번째 레코드만 가져오기 = 603
  9.3.2 누적 합계 구하기 = 604
  9.3.3 그룹별 랭킹 구하기 = 605
  9.3.4 랭킹 업데이트하기 = 608
  9.3.5 GROUP BY와 ORDER BY가 인덱스를 사용하지 못하는 쿼리 = 609
 9.4 주의사항 = 611
10장 파티션
 10.1 파티션의 개요 = 613
  10.1.1 파티션을 사용하는 이유 = 613
  10.1.2 MySQL 파티션의 내부 처리 = 615
 10.2 파티션 주의사항 = 620
  10.2.1 파티션의 제한 사항 = 620
  10.2.2 파티션 사용시 주의사항 = 621
 10.3 MySQL 파티션의 종류 = 625
  10.3.1 레인지 파티션 = 625
  10.3.2 리스트 파티션 = 628
  10.3.3 해시 파티션 = 630
  10.3.4 키 파티션 = 634
  10.3.5 리니어 해시 파티션/리니어 키 파티션 = 636
  10.3.6 서브 파티션 = 637
  10.3.7 파티션 테이블의 실행 계획 = 638
  10.3.8 파티션 테이블 관련 벤치마킹 = 640
  10.3.9 파티션 기능에 대한 결론 = 645
11장 스토어드 프로그램
 11.1 스토어드 프로그램의 장단점 = 647
  11.1.1 스토어드 프로그램의 장점 = 647
  11.1.2 스토어드 프로그램의 단점 = 649
 11.2 스토어드 프로그램의 문법 = 650
  11.2.1 예제 테스트 시 주의사항 = 650
  11.2.2 스토어드 프로시저 = 651
  11.2.3 스토어드 함수 = 656
  11.2.4 트리거 = 659
  11.2.5 이벤트 = 662
  11.2.6 스토어드 프로그램 본문(Body) 작성 = 668
 11.3 스토어드 프로그램의 권한 및 옵션 = 692
  11.3.1 DEFINER 와 SQL SECURITY 옵션 = 693
  11.3.2 스토어드 프로그램의 권한 = 694
  11.3.3 DETERMINISTIC과 NOT DETERMINISTIC 옵션 = 698
 11.4 스토어드 프로그램의 참고 및 주의사항 = 700
  11.4.1 한글 처리 = 700
  11.4.2 스토어드 프로그램과 세션 변수 = 702
  11.4.3 스토어드 프로시저와 재귀 호출(Recursive call) = 703
  11.4.4 중첩된 커서 사용 = 704
12장 쿼리 종류별 잠금
 12.1 InnoDB의 기본 잠금 방식 = 709
  12.1.1 SELECT = 710
  12.1.2 INSERT, UPDATE, DELETE = 711
 12.2 SQL 문장별로 사용하는 잠금 = 715
  12.2.1 SELECT 쿼리의 잠금 = 715
  12.2.2 INSERT 쿼리의 잠금 = 716
  12.2.3 UPDATE 쿼리의 잠금 = 721
  12.2.4 DELETE 쿼리의 잠금 = 722
  12.2.5 DDL 문장의 잠금 = 722
  12.2.6 InnoDB에서 여러 쿼리 패턴 간의 잠금 대기 = 723
 12.3 InnoDB에서 데드락 만들기 = 726
  12.3.1 패턴 1(상호 거래 관련) = 727
  12.3.2 패턴 2(유니크 인덱스 관련) = 728
  12.3.3 패턴 3(외래키 관련) = 730
  12.3.4 패턴 4(서로 다른 인덱스를 통한 잠금) = 731
13장 프로그램 연동
 13.1 자바 = 735
  13.1.1 JDBC 버전 = 735
  13.1.2 MySQL Connector/J를 이용한 개발 = 737
 13.2 C/C++ = 778
  13.2.1 주요 헤더 파일과 MySQL 예제 = 779
  13.2.2 에러 처리 = 780
  13.2.3 프로그램의 컴파일 = 781
  13.2.4 MySQL 서버 접속 = 784
  13.2.5 설정 파일 읽기 = 786
  13.2.6 SELECT 실행 = 797
  13.2.7 INSERT/UPDATE/DELETE 실행 = 805
  13.2.8 다중 문장 실행과 다중 결과 셋 가져오기 = 809
  13.2.9 커넥션 옵션 = 812
  13.2.10 프리페어 스테이트먼트 사용 = 814
14장 데이터 모델링
 14.1 논리 모델링 = 823
  14.1.1 모델링 용어 = 824
  14.1.2 용어집 = 825
  14.1.3 엔터티 = 827
  14.1.4 어트리뷰트(속성) = 830
  14.1.5 식별자(프라이머리 키) = 835
  14.1.6 관계(릴레이션) = 836
  14.1.7 엔터티의 통합 = 845
  14.1.8 관계의 통합 = 846
  14.1.9 모델 정규화 = 847
 14.2 물리 모델링 = 852
  14.2.1 프라이머리 키 선택 = 852
  14.2.2 데이터 타입 선정 = 854
  14.2.3 반정규화 = 859
15장 데이터 타입
 15.1 문자열(CHAR와 VARCHAR) = 866
  15.1.1 저장 공간 = 867
  15.1.2 비교 방식 = 870
  15.1.3 문자집합(캐릭터 셋) = 871
  15.1.4 콜레이션(Collation) = 876
  15.1.5 문자열 이스케이프 처리 = 881
 15.2 숫자 = 883
  15.2.1 정수 = 884
  15.2.2 부동 소수점 = 885
  15.2.3 DECIMAL = 886
  15.2.4 정수 타입의 칼럼을 생성할 때의 주의사항 = 886
  15.2.5 자동 증가(AUTO_INCREMENT) 옵션 사용 = 888
 15.3 날짜와 시간 = 890
  15.3.1 TIMESTAMP 타입의 옵션 = 893
  15.3.2 타임 존 등록 및 사용 = 897
 15.4 ENUM과 SET = 899
  15.4.1 ENUM = 899
  15.4.2 SET = 902
 15.5 TEXT, BLOB = 904
 15.6 공간(Spatial) 데이터 타입 = 906
  15.6.1 POINT 타입 = 907
  15.6.2 LINESTRING 타입 = 908
  15.6.3 POLYGON 타입 = 909
  15.6.4 GEOMETRY 타입 = 910
16장 베스트 프랙티스
 16.1 임의(랜덤) 정렬 = 912
  16.1.1 지금까지의 구현 = 912
  16.1.2 인덱스를 이용한 임의 정렬 방법 = 913
 16.2 페이징 쿼리 = 918
  16.2.1 지금까지의 방법 = 919
  16.2.2 불필요한 접근을 제거하기 위한 페이징 쿼리 = 921
 16.3 MySQL에서 시퀀스 구현 = 922
  16.3.1 시퀀스용 테이블 준비 = 923
  16.3.2 시퀀스를 위한 스토어드 함수 = 923
  16.3.3 여러 시퀀스 처리하기 = 925
  16.3.4 시퀀스 사용 시 주의사항 = 926
 16.4 큰 문자열 칼럼의 인덱스(해시) = 928
 16.5 테이블 파티션 = 932
 16.6 SNS의 타임라인 구현 = 934
  16.6.1 예제 시나리오 = 935
  16.6.2 인덱스 테이블 사용 = 936
  16.6.3 Try&Fail 쿼리 = 938
 16.7 MySQL 표준 설정 = 946
  16.7.1 MySQL 표준 설정의 필요성 = 947
  16.7.2 표준 설정의 예시 = 948
 16.8 복제를 사용하지 않는 MySQL의 설정 = 950
 16.9 MySQL 복제 구축 = 951
  16.9.1 MySQL 복제의 형태 = 951
  16.9.2 확장(스케일 아웃) = 956
  16.9.3 가용성 = 957
  16.9.4 복제가 구축된 MySQL에서의 작업 = 957
 16.10 SQL 작성 표준 = 958
  16.10.1 조인 조건은 항상 ON 절에 기재 = 958
  16.10.2 테이블 별칭(Alias) 사용 및 칼럼 명에 테이블 별칭 포함 = 959
  16.10.3 서버 사이드 프리페어 스테이트먼트 사용 = 959
  16.10.4 FULL GROUP BY 사용 = 960
  16.10.5 DELETE, UPDATE 쿼리에서 ORDER BY LIMIT 사용 자제 = 960
  16.10.6 문자열 리터럴 표기는 홑 따옴표만 사용 = 960
  16.10.7 서브쿼리는 조인으로 변경 = 961
  16.10.8 UNION [ALL]은 사용 자제 = 961
  16.10.9 스토어드 함수는 가능하면 DETERMINISTIC으로 정의 = 962
  16.10.10 스토어드 프로그램에서는 예외 처리 코드를 작성 = 962
  16.10.11 UPDATE, DELETE 쿼리와 적용 건수(Affected row counts) 체크 = 962
  16.10.12 숫자 값은 반드시 숫자 타입의 칼럼으로 정의 = 963
 16.11 하드웨어와 플랫폼 선정 = 963
  16.11.1 하드웨어 선정 = 963
  16.11.2 운영체제의 파일 시스템 선정 = 966
 16.12 백업 및 모니터링 = 969
  16.12.1 백업(EnterpriseBackup과 mysqldump) = 970
  16.12.2 모니터링 = 973
 16.13 스키마 검토 = 975
17장 응급 처치
 17.1 서버 과부하 = 978
  17.1.1 운영체제의 유틸리티를 이용해 장비의 부하 확인 = 978
  17.1.2 MySQL 서버의 에러 로그 확인 = 982
  17.1.3 MySQL 서버의 프로세스 리스트 확인 = 983
  17.1.4 MySQL 서버의 최대 커넥션 설정 확인 = 984
  17.1.5 MySQL 서버의 슬로우 쿼리 분석 = 985
  17.1.6 쿼리의 실행 빈도 확인 = 986
  17.1.7 각 원인별 조치 = 988
 17.2 MySQL 서버 셧다운 = 989
 17.3 MySQL 복구(데이터 파일 손상) = 990
  17.3.1 MyISAM = 990
  17.3.2 InnoDB = 990
 17.4 테이블 메타 정보의 불일치 = 993
 17.5 복제가 멈추었을 때 = 995
 17.6 경고 메시지로 에러 로그 파일이 커질 때 = 997
 17.7 바이너리 로그로 디스크가 꽉 찬 경우 = 998
 17.8 마스터 MySQL 서버에서 함수 생성 오류 = 998
 17.9 MySQL의 DB명 변경 = 999
 17.10 DB의 테이블 생성 DDL만 덤프 = 999
 17.11 mysqldump의 결과를 다른 이름의 DB로 적재 = 1000
 17.12 테이블이나 레코드의 잠금 해결 = 1001
 17.13 InnoDB의 잠금 대기 시간 초과 = 1001
 17.14 MySQL 서버의 호스트 잠금 = 1002
부록 A. MySQL 5.1(InnoDB Plugin 1.0) 새로운 기능
 A.1 MySQL 5.1의 신기능 = 1004
  A.1.1 파티션 = 1004
  A.1.2 레코드 기반의복제(Row-based replication) = 1004
  A.1.3 플러그인 API = 1005
  A.1.4 이벤트 스케줄러 = 1005
  A.1.5 서버 로그 테이블 = 1005
 A.2 InnoDB 플러그인 1.0의 신기능 = 1005
  A.2.1 InnoDB의 빠른 인덱스 생성 = 1006
  A.2.2 InnoDB 데이터 압축 = 1007
  A.2.3 BLOB이나 TEXT 타입 관리 = 1007
  A.2.4 InnoDB 파일 포맷 관리 = 1008
  A.2.5 InnoDB INFORMATION_SCHEMA 테이블 = 1008
  A.2.6 확장성 개선을 위한 빠른 잠금 처리 = 1009
  A.2.7 운영체제의 메모리 할당 기능 사용 = 1010
  A.2.8 InnoDB 인서트 버퍼 제어 = 1010
  A.2.9 Adaptive Hash Index 제어 = 1011
  A.2.10 Read Ahead 알고리즘의 개선 = 1011
  A.2.11 다중 백그라운드 I/O 스레드 = 1012
  A.2.12 그룹 커밋 = 1012
  A.2.13 마스터 스레드의 I/O 성능 제어 = 1013
  A.2.14 더티 페이지의 플러시 제어 = 1013
  A.2.15 Spin loop에서 PAUSE 사용 = 1014
  A.2.16 버퍼 풀의 관리 기능 개선 = 1014
  A.2.17 여러 시스템 설정의 동적인 제어 = 1015
  A.2.18 TRUNCATE TABLE 시에 테이블 스페이스 공간 반납 = 1015
  A.2.19 InnoDB의 통계 수집을 위한 페이지 샘플링 수 조절 = 1016
부록 B. MySQL 5.5 (InnoDB Plugin 1.1) 신기능
 B.1 MySQL 서버의 개선 사항 = 1018
  B.1.1 스레드 풀 = 1018
  B.1.2 사용자 인증 플러그인 아키텍처 = 1018
  B.1.3 반동기 복제(Semi-synchronous Replication) = 1019
  B.1.4 유니코드 지원 확장 = 1019
  B.1.5 기본 스토리지 엔진의 변경 = 1020
  B.1.6 SIGNAL과 RESIGNAL 기능 추가 = 1020
  B.1.7 파티션 기능 개선 = 1020
 B.2 InnoDB 플러그인 1.1의 개선 사항 = 1021
  B.2.1 인덱스 생성 방식 변경 = 1021
  B.2.2 트랜잭션 복구 성능 향상 = 1021
  B.2.3 InnoDB 성능 진단을 위한 PERFORMANCE_SCHEMA = 1022
  B.2.4 다중 버퍼 풀 = 1022
  B.2.5 다중 롤백 세그먼트 = 1022
  B.2.6 버퍼 풀 관련 뮤텍스 개선 = 1023
  B.2.7 인서트 버퍼 처리 개선 = 1023
  B.2.8 비동기화된 디스크 I/O = 1023
부록 C. MySQL 5.6 신기능
 C.1 InnoDB 테이블을 위한 풀 텍스트 검색 = 1025
 C.2 InnoDB의 리두 로그 파일 크기 = 1025
 C.3 언두 테이블 스페이스 = 1025
 C.4 InnoDB 버퍼 풀의 자동 워밍 업 = 1026
 C.5 InnoDB의 페이지 크기 조정 = 1026
 C.6 멀티 스레드 슬레이브 = 1026
 C.7 Memcached를 통한 NoSQL 확장 = 1027

관련분야 신착자료

Harvard Business Review (2025)