KEMBAR78
[국비지원추천]마리아db(maria db) & mysql 기초 및 sql 활용 재직자 향상과정_직장인환급과정/내일배움카드/마리아DB학원/SQL활용/SQL학원/IT학원추천 | PPTX
교육개요
"마리아DB(MariaDB) & MySQL 기초 및 SQL 활용 재직자 향상과정 “은
단기간에 MariaDB에 대한 설치 및 설정 부터 기초 쿼리 활용 능력, 서브쿼리, 조인, 쿼리최적화방법,
스토리지 엔진, SQL 실행계획의 분석까지 배울 수 있는 실무/실습위주의 교육 입니다.
교육과정 안내
마리아DB(MariaDB) & MySQL 기초 및 SQL 활용 재직자 향상과정
교육목표
단기간에 MariaDB에 대한 설치 및 설정 부터 기초 쿼리 활
용 능력, 서브쿼리, 조인, 쿼리최적화방법, 스토리지 엔진,
SQL 실행계획의 분석
교육대상 초보 및 신입 개발자, SQL에 관심있는 개발자 또는 학생
선수학습 데이터베이스 기초지식
강의시간 32 시간
수강료 380,000원
정부지원금 210,368원 (본인부담금 : 169,632원)
평일야간반 신청평일주간반 신청 주말주간반 신청
세부 교육내용
마리아DB(Maria
DB) & MySQL
▣ 01장: MariaDB
_1.1 MariaDB란?
_1.2 MariaDB vs. MySQL
__1.2.1 MariaDB와 MySQL 그리고 PerconaServer
__1.2.2 공통점
__1.2.3 차이점
___1.2.3.1 라이선스
___1.2.3.2 스토리지 엔진
___1.2.3.3 기능
___1.2.3.4 옵티마이저
__1.2.4 버전별 호환성
__1.2.5 성능 비교
__1.2.6 MariaDB가 MySQL을 대체하게 될까?
__1.2.7 MariaDB와 MySQL 선택
세부 교육내용
마리아DB(Maria
DB) & MySQL
▣ 02장: 설치
_2.1 다운로드
_2.2 설치
__2.2.1 윈도우 버전 설치
___2.2.1.1 설치 프로그램(MSI)을 이용한 설치
___2.2.1.2 압축(ZIP)된 MariaDB 설치
__2.2.2 리눅스 버전 설치
___2.2.2.1 RPM을 이용한 설치
___2.2.2.2 압축(tar.gz)된 MariaDB 설치
_2.3 업그레이드
__2.3.1 MySQL에서 MariaDB로 업그레이드할 때 주의 사항
__2.3.2 버전에 관계없이 가장 안전한 방법
__2.3.3 MySQL 5.0이나 그 이전 버전에서 MariaDB 5.5로 업그
레이드
__2.3.4 MySQL 5.1에서 MariaDB 5.5로 업그레이드
__2.3.5 MySQL 5.5에서 MariaDB 5.5로 업그레이드
세부 교육내용
마리아DB(Maria
DB) & MySQL
▣ 03장: MariaDB 기동 및 쿼리 실행
_3.1 서버 시작 및 종료
__3.1.1 리눅스에서 MariaDB 서버의 시작과 종료
___3.1.1.1 서비스로 등록된 경우
___3.1.1.2 서비스로 등록되지 않은 경우
__3.1.2 윈도우에서 MariaDB 서버의 시작과 종료
___3.1.2.1 서비스로 등록된 경우
___3.1.2.2 서비스로 등록되지 않은 경우
_3.2 서버 로그인
__3.2.1 서버 로그인 및 버전 확인
__3.2.2 mysql 클라이언트 프로그램 옵션
___3.2.2.1 안전 모드로 mysql 클라이언트 실행
___3.2.2.2 --execute 옵션으로 mysql 클라이언트 실행
___3.2.2.3 --batch 모드와 함께 --execute 옵션으로 mysql 클
라이언트 실행
___3.2.2.4 --batch 모드로 --skip-column-names와 함께 --
execute 옵션으로 mysql 클라이언트 실행
세부 교육내용
마리아DB(Maria
DB) & MySQL
_3.3 데이터베이스 및 사용자 생성
__3.3.1 MariaDB의 사용자 계정 인식과 권한
___3.3.1.1 사용자의 식별
___3.3.1.2 권한
___3.3.1.3 권한의 부여
___3.3.1.4 권한 그룹
__3.3.2 MariaDB의 기본 사용자
__3.3.3 MariaDB의 기본 데이터베이스
__3.3.4 새로운 데이터베이스 생성
__3.3.5 사용자 생성
___3.3.5.1 사용자 생성 및 권한 부여
___3.3.5.2 관리자 계정 준비
세부 교육내용
마리아DB(Maria
DB) & MySQL
_3.4 테이블 생성 및 변경
__3.4.1 테이블 생성
__3.4.2 테이블 변경(온라인 및 오프라인)
___3.4.2.1 오프라인 스키마 변경
___3.4.2.2 MariaDB의 온라인 스키마 변경
___3.4.2.3 MySQL의 온라인 스키마 변경
___3.4.2.4 pt-online-schema-change
___3.4.2.5 온라인 스키마 변경을 사용해도 될까?
__3.4.3 테이블 삭제
_3.5 데이터 조작
__3.5.1 INSERT
__3.5.2 SELECT
__3.5.3 UPDATE
__3.5.4 REPLACE
__3.5.5 DELETE
세부 교육내용
마리아DB(Maria
DB) & MySQL
▣ 04장: 실행 계획 분석
_4.1 개요
__4.1.1 쿼리 실행 절차
__4.1.2 옵티마이저의 종류
__4.1.3 통계 정보
___4.1.3.1 MySQL 5.6의 통계 정보
___4.1.3.2 MariaDB 10.0의 통계 정보
__4.1.4 히스토그램 통계 정보
___4.1.4.1 히스토그램이란?
___4.1.4.2 MariaDB에서 히스토그램 사용
__4.1.5 조인 옵티마이저 옵션
_4.2 예제 데이터 준비
__4.2.1 예제 데이터 적재
__4.2.2 통계 정보 수집
_4.3 실행 계획 분석
세부 교육내용
마리아DB(Maria
DB) & MySQL
_4.3 실행 계획 분석
__4.3.1 id 칼럼
__4.3.2 select_type 칼럼
___4.3.2.1 SIMPLE
___4.3.2.2 PRIMARY
___4.3.2.3 UNION
___4.3.2.4 DEPENDENT UNION
___4.3.2.5 UNION RESULT
___4.3.2.6 SUBQUERY
___4.3.2.7 DEPENDENT SUBQUERY
___4.3.2.8 DERIVED
___4.3.2.9 UNCACHEABLE SUBQUERY
___4.3.2.10 UNCACHEABLE UNION
___4.3.2.11 MATERIALIZED
___4.3.2.12 INSERT
세부 교육내용
마리아DB(Maria
DB) & MySQL
_4.3.3 table 칼럼
__4.3.4 type 칼럼
___4.3.4.1 system
___4.3.4.2 const
___4.3.4.3 eq_ref
___4.3.4.4 ref
___4.3.4.5 fulltext
___4.3.4.6 ref_or_null
___4.3.4.7 unique_subquery
___4.3.4.8 index_subquery
___4.3.4.9 range
___4.3.4.10 index_merge
___4.3.4.11 index
___4.3.4.12 ALL
세부 교육내용
마리아DB(Maria
DB) & MySQL
__4.3.5 possible_keys 칼럼
__4.3.6 key 칼럼
__4.3.7 key_len 칼럼
__4.3.8 ref 칼럼
__4.3.9 rows 칼럼
__4.3.10 Extra 칼럼
___4.3.10.1 const row not found
___4.3.10.2 Distinct
___4.3.10.3 Full scan on NULL key
___4.3.10.4 Impossible HAVING
___4.3.10.6 Impossible WHERE noticed after reading const
tables
___4.3.10.7 No matching min/max row
___4.3.10.8 no matching row in const table
___4.3.10.9 No tables used
___4.3.10.10 Not exists
___4.3.10.11 Range checked for each record(index map: N)
세부 교육내용
마리아DB(Maria
DB) & MySQL
___4.3.10.12 Scanned N databases
___4.3.10.13 Select tables optimized away
___4.3.10.14 Skip_open_table, Open_frm_only,
Open_trigger_only, Open_full_table
___4.3.10.15 unique row not found
___4.3.10.16 Using filesort
___4.3.10.17 Using index(커버링 인덱스)
___4.3.10.18 Using index for group-by
___4.3.10.19 Using join buffer(Block Nested Loop), Using join
buffer(Batched Key Access)
___4.3.10.20 Using sort_union, Using union, Using intersect,
Using sort_intersection
___4.3.10.21 Using temporary
___4.3.10.22 Using where
___4.3.10.23 Using where with pushed condition
___4.3.10.24 Deleting all rows
___4.3.10.25 FirstMatch(tbl_name)
세부 교육내용
마리아DB(Maria
DB) & MySQL
__4.3.10.26 LooseScan(m n)
___4.3.10.27 Materialize, Scan
___4.3.10.28 Start materialize, End materialize, Scan
___4.3.10.29 Start temporary, End temporary
___4.3.10.30 Using index condition
___4.3.10.31 Rowid-ordered scan, Key-ordered scan
___4.3.10.32 No matching rows after partition pruning
__4.3.11 EXPLAIN EXTENDED(Filtered 칼럼)
__4.3.12 EXPLAIN EXTENDED(추가 옵티마이저 정보)
__4.3.13 EXPLAIN PARTITIONS(Partitions 칼럼)
_4.4 옵티마이저 힌트
__4.4.1 힌트의 사용법
__4.4.2 STRAIGHT_JOIN
__4.4.3 USE INDEX / FORCE INDEX / IGNORE INDEX
__4.4.4 SQL_CACHE / SQL_NO_CACHE
__4.4.5 SQL_CALC_FOUND_ROWS
__4.4.6 기타 힌트
세부 교육내용
마리아DB(Maria
DB) & MySQL
_4.5 실행 계획 분석 시 주의사항
__4.5.1 Select_type 칼럼의 주의 대상
__4.5.2 Type 칼럼의 주의 대상
__4.5.3 Key 칼럼의 주의 대상
__4.5.4 Rows 칼럼의 주의 대상
__4.5.5 Extra 칼럼의 주의 대상
___4.5.5.1 쿼리가 요건을 제대로 반영하고 있는지 확인해야 하
는 경우
___4.5.5.2 쿼리의 실행 계획이 좋지 않은 경우
___4.5.5.3 쿼리의 실행 계획이 좋은 경우
세부 교육내용
마리아DB(Maria
DB) & MySQL
_▣ 05장: 최적화
_5.1 풀 테이블 스캔
_5.2 ORDER BY 처리(Using filesort)
__5.2.1 소트 버퍼(Sort buffer)
__5.2.2 정렬 알고리즘
__5.2.3 정렬의 처리 방식
___5.2.3.1 인덱스를 사용한 정렬
___5.2.3.2 드라이빙 테이블만 정렬
___5.2.3.3 임시 테이블을 이용한 정렬
___5.2.3.4 정렬 방식의 성능 비교
__5.2.4 ORDER BY....LIMIT n 최적화
__5.2.5 정렬 관련 상태 변수
_5.3 GROUP BY 처리
__5.3.1 인덱스 스캔을 이용하는 GROUP BY(타이트 인덱스 스
캔)
__5.3.2 루스(loose) 인덱스 스캔을 이용하는 GROUP BY
__5.3.3 임시 테이블을 사용하는 GROUP BY
세부 교육내용
마리아DB(Maria
DB) & MySQL
__5.4 DISTINCT 처리
__5.4.1 SELECT DISTINCT
__5.4.2 집함 함수와 함께 사용된 DISTINCT
_5.5 임시 테이블(Using temporary)
__5.5.1 임시 테이블이 필요한 쿼리
__5.5.2 임시 테이블이 디스크에 생성되는 경우(Aria 스토리지
엔진을 사용)
__5.5.3 임시 테이블 관련 상태 변수
__5.5.4 인덱스를 가지는 내부 임시 테이블
__5.5.5 내부 임시 테이블(Internal Temporary Table)의 주의사항
_5.6 인덱스 컨디션 푸시다운(Index Condition Pushdown,
ICP)
_5.7 멀티 레인지 리드(Multi Range Read)
__5.7.1 RowId 기준 정렬(Rowid-ordered scan)
__5.7.2 Key 기준 정렬(Key-ordered scan)
__5.7.3 Key와 RowId 모두 정렬(Key-ordered, Rowid-ordered scan)
__5.7.4 멀티 레인지 리드 최적화와 정렬
__5.7.5 멀티 레인지 리드 최적화 주의 사항
세부 교육내용
마리아DB(Maria
DB) & MySQL
_5.8 인덱스 머지(Index merge)
__5.8.1 Using union
__5.8.2 Using sort_union
__5.8.3 Using intersect
__5.8.4 Using sort_intersect
_5.9 테이블 조인
__5.9.1 조인의 종류
___5.9.1.1 JOIN (INNER JOIN)
___5.9.1.2 OUTER JOIN
___5.9.1.3 카테시안 조인
___5.9.1.4 NATURAL JOIN
__5.9.2 조인 알고리즘
___5.9.2.1 조인 캐시 레벨(join_cache_level)
___5.9.2.2 조인 버퍼 설정
세부 교육내용
마리아DB(Maria
DB) & MySQL
___5.9.2.3 단순 네스티드 루프(Simple Nested Loop, NL)
___5.9.2.4 블록 네스티드 루프(Block Nested Loop, BNL)
___5.9.2.5 블록 네스티드 루프 해시(Block Nested Loop Hash,
BNLH)
___5.9.2.6 블록 인덱스 조인(Block Index Join, Batched Key
Access, BKA)
___5.9.2.7 블록 인덱스 해시 조인(Block Index Hash Join,
Batched Key Access Hash)
__5.9.3 조인의 주의사항
___5.9.3.1 조인 실행 결과의 정렬 순서
___5.9.3.2 INNER JOIN과 OUTER JOIN의 선택
_5.10 서브 쿼리
__5.10.1 세미 조인 서브쿼리 최적화
___5.10.1.1 Table pullout 최적화
___5.10.1.2 FirstMatch 최적화
___5.10.1.3 Semi-join Materialization 최적화
___5.10.1.4 LooseScan 최적화
세부 교육내용
마리아DB(Maria
DB) & MySQL
___5.10.1.5 Duplicate Weedout 최적화
__5.10.2 세미 조인이 아닌 서브쿼리 최적화
___5.10.2.1 Materialization
___5.10.2.2 IN-to-EXISTS
__5.10.3 서브 쿼리 캐시
▣ 06장: 스토리지 엔진
_6.1 Aria 스토리지 엔진
__6.1.1 트랜잭션
__6.1.2 페이지 캐시
__6.1.3 시스템 설정 변수
_6.2 XtraDB 스토리지 엔진
__6.2.1 InnoDB와 XtraDB 스토리지 엔진 교체
세부 교육내용
마리아DB(Maria
DB) & MySQL
_6.3 InnoDB 스토리지 엔진
__6.3.1 MySQL 5.6 InnoDB
___6.3.1.1 영구적인 통계 정보
___6.3.1.2 데이터 읽기 최적화
___6.3.1.3 커널 뮤텍스(Kernel mutex)
___6.3.1.4 멀티 스레드 기반의 언두 퍼지(Multi threaded
purge)
___6.3.1.5 독립된 플러시 스레드
___6.3.1.6 가변 페이지 사이즈
___6.3.1.7 테이블 스페이스 복사(Transportable tablespace)
___6.3.1.8 독립된 언두 스페이스
___6.3.1.9 읽기 전용 트랜잭션(Read-only transaction) 최적화
___6.3.1.10 버퍼 풀 덤프 & 로드
___6.3.1.11 리두 로그 사이즈
___6.3.1.12 리두 로그 크기 변경
___6.3.1.13 데드락 이력
세부 교육내용
마리아DB(Maria
DB) & MySQL
__6.3.2 더티 페이지 플러시
___6.3.2.1 플러시 리스트 플러시
___6.3.2.2 LRU 리스트 플러시
___6.3.2.3 InnoDB와 XtraDB의 더티 플러시
___6.3.2.4 MySQL 5.5 InnoDB의 더티 플러시
___6.3.2.5 MariaDB 5.5 XtraDB의 더티 플러시
___6.3.2.6 MySQL 5.6 InnoDB의 더티 플러시
___6.3.2.7 MariaDB 10.0의 XtraDB
__6.3.3 버퍼 풀 성능 개선
___6.3.3.1 NUMA
___6.3.3.2 버퍼 풀 메모리 초기 할당
___6.3.3.3 InnoDB 잠금 세분화
___6.3.3.4 I/O 기반의 워크로드 성능 향상
___6.3.3.5 어댑티브 해시 파티션
세부 교육내용
마리아DB(Maria
DB) & MySQL
_6.3.4 원자 단위의 쓰기(FusionIO SSD를 위한 Atomic write)
__6.3.5 확장된 InnoDB 엔진 상태 출력
___6.3.5.1 백그라운드 스레드 관련 상태 변수
___6.3.5.2 세마포어 관련 상태 변수
___6.3.5.3 인서트 버퍼와 어댑티브 해시 인덱스 관련 상태 변수
___6.3.5.4 로그 관련 상태 변수
___6.3.5.5 버퍼 풀 관련 상태 변수
___6.3.5.6 트랜잭션 관련 상태 변수
__6.3.6 XtraDB 리두 로그 아카이빙
__6.3.7 변경된 페이지 트랙킹
_6.4 전문 검색 엔진
__6.4.1 전문 검색 인덱스 추가
__6.4.2 전문 검색 인덱스를 위한 테이블 스페이스
__6.4.3 전문 검색 인덱스 관련 INFORMATION_SCHEMA 정보
___6.4.3.1 InnoDB의 모든 전문 검색 인덱스에 적용되는 내용
___6.4.3.2 전문 검색 인덱스를 가진 테이블 단위로 적용되는 내
용
세부 교육내용
마리아DB(Maria
DB) & MySQL
__6.4.4 전문 검색 인덱스 사용
__6.4.5 주의 사항
_6.5 Memcached 플러그인
__6.5.1 아키텍처
__6.5.2 설치 및 테스트
__6.5.3 캐시 정책
__6.5.4 사용자 테이블 등록
__6.5.5 관련 시스템 변수
_6.6 카산드라 스토리지 엔진
__6.6.1 카산드라
__6.6.2 카산드라 스토리지 엔진
_6.7 CONNECT 스토리지 엔진
__6.7.1 CONNECT 스토리지 엔진 설치
__6.7.2 오라클 RDBMS 테이블 연결
__6.7.3 my.cnf 설정 파일 연결
__6.7.4 운영체제의 디렉터리 연결
세부 교육내용
마리아DB(Maria
DB) & MySQL
_6.8 시퀀스 스토리지 엔진
__6.8.1 시퀀스 스토리지 엔진 기본 사용법
__6.8.2 누락된 번호 찾기
__6.8.3 순차적으로 조합된 번호 쌍 생성
__6.8.4 배수 또는 공배수 찾기
__6.8.5 순차적인 알파벳 생성
__6.8.6 순차적인 날짜 생성
__6.8.7 데이터 복제 가공
_6.9 Mroonga 전문 검색 스토리지 엔진
__6.9.1 인덱스 알고리즘
___6.9.1.1 구분자(Stopword) 방식
___6.9.1.2 n-Gram 방식
___6.9.1.3 구분자와 n-Gram의 차이
__6.9.2 Mroonga 전문 검색 엔진 설치
__6.9.3 Mroonga 전문 검색 엔진 사용
세부 교육내용
마리아DB(Maria
DB) & MySQL
▣ 07장: 기타 기능
_7.1 성능 향상
__7.1.1 스레드 풀(Thread Pool)
___7.1.1.1 MySQL 서버의 전통적인 연결 및 처리 방식
___7.1.1.2 MariaDB의 스레드 풀
___7.1.1.3 MariaDB 스레드 풀의 사용과 튜닝
___7.1.1.4 주의 사항
_7.2 관리 및 진단
__7.2.1 SHOW EXPLAIN FOR [THREAD-ID
[국비지원추천]마리아db(maria db) & mysql 기초 및 sql 활용 재직자 향상과정_직장인환급과정/내일배움카드/마리아DB학원/SQL활용/SQL학원/IT학원추천

[국비지원추천]마리아db(maria db) & mysql 기초 및 sql 활용 재직자 향상과정_직장인환급과정/내일배움카드/마리아DB학원/SQL활용/SQL학원/IT학원추천

  • 2.
    교육개요 "마리아DB(MariaDB) & MySQL기초 및 SQL 활용 재직자 향상과정 “은 단기간에 MariaDB에 대한 설치 및 설정 부터 기초 쿼리 활용 능력, 서브쿼리, 조인, 쿼리최적화방법, 스토리지 엔진, SQL 실행계획의 분석까지 배울 수 있는 실무/실습위주의 교육 입니다.
  • 3.
    교육과정 안내 마리아DB(MariaDB) &MySQL 기초 및 SQL 활용 재직자 향상과정 교육목표 단기간에 MariaDB에 대한 설치 및 설정 부터 기초 쿼리 활 용 능력, 서브쿼리, 조인, 쿼리최적화방법, 스토리지 엔진, SQL 실행계획의 분석 교육대상 초보 및 신입 개발자, SQL에 관심있는 개발자 또는 학생 선수학습 데이터베이스 기초지식 강의시간 32 시간 수강료 380,000원 정부지원금 210,368원 (본인부담금 : 169,632원) 평일야간반 신청평일주간반 신청 주말주간반 신청
  • 4.
    세부 교육내용 마리아DB(Maria DB) &MySQL ▣ 01장: MariaDB _1.1 MariaDB란? _1.2 MariaDB vs. MySQL __1.2.1 MariaDB와 MySQL 그리고 PerconaServer __1.2.2 공통점 __1.2.3 차이점 ___1.2.3.1 라이선스 ___1.2.3.2 스토리지 엔진 ___1.2.3.3 기능 ___1.2.3.4 옵티마이저 __1.2.4 버전별 호환성 __1.2.5 성능 비교 __1.2.6 MariaDB가 MySQL을 대체하게 될까? __1.2.7 MariaDB와 MySQL 선택
  • 5.
    세부 교육내용 마리아DB(Maria DB) &MySQL ▣ 02장: 설치 _2.1 다운로드 _2.2 설치 __2.2.1 윈도우 버전 설치 ___2.2.1.1 설치 프로그램(MSI)을 이용한 설치 ___2.2.1.2 압축(ZIP)된 MariaDB 설치 __2.2.2 리눅스 버전 설치 ___2.2.2.1 RPM을 이용한 설치 ___2.2.2.2 압축(tar.gz)된 MariaDB 설치 _2.3 업그레이드 __2.3.1 MySQL에서 MariaDB로 업그레이드할 때 주의 사항 __2.3.2 버전에 관계없이 가장 안전한 방법 __2.3.3 MySQL 5.0이나 그 이전 버전에서 MariaDB 5.5로 업그 레이드 __2.3.4 MySQL 5.1에서 MariaDB 5.5로 업그레이드 __2.3.5 MySQL 5.5에서 MariaDB 5.5로 업그레이드
  • 6.
    세부 교육내용 마리아DB(Maria DB) &MySQL ▣ 03장: MariaDB 기동 및 쿼리 실행 _3.1 서버 시작 및 종료 __3.1.1 리눅스에서 MariaDB 서버의 시작과 종료 ___3.1.1.1 서비스로 등록된 경우 ___3.1.1.2 서비스로 등록되지 않은 경우 __3.1.2 윈도우에서 MariaDB 서버의 시작과 종료 ___3.1.2.1 서비스로 등록된 경우 ___3.1.2.2 서비스로 등록되지 않은 경우 _3.2 서버 로그인 __3.2.1 서버 로그인 및 버전 확인 __3.2.2 mysql 클라이언트 프로그램 옵션 ___3.2.2.1 안전 모드로 mysql 클라이언트 실행 ___3.2.2.2 --execute 옵션으로 mysql 클라이언트 실행 ___3.2.2.3 --batch 모드와 함께 --execute 옵션으로 mysql 클 라이언트 실행 ___3.2.2.4 --batch 모드로 --skip-column-names와 함께 -- execute 옵션으로 mysql 클라이언트 실행
  • 7.
    세부 교육내용 마리아DB(Maria DB) &MySQL _3.3 데이터베이스 및 사용자 생성 __3.3.1 MariaDB의 사용자 계정 인식과 권한 ___3.3.1.1 사용자의 식별 ___3.3.1.2 권한 ___3.3.1.3 권한의 부여 ___3.3.1.4 권한 그룹 __3.3.2 MariaDB의 기본 사용자 __3.3.3 MariaDB의 기본 데이터베이스 __3.3.4 새로운 데이터베이스 생성 __3.3.5 사용자 생성 ___3.3.5.1 사용자 생성 및 권한 부여 ___3.3.5.2 관리자 계정 준비
  • 8.
    세부 교육내용 마리아DB(Maria DB) &MySQL _3.4 테이블 생성 및 변경 __3.4.1 테이블 생성 __3.4.2 테이블 변경(온라인 및 오프라인) ___3.4.2.1 오프라인 스키마 변경 ___3.4.2.2 MariaDB의 온라인 스키마 변경 ___3.4.2.3 MySQL의 온라인 스키마 변경 ___3.4.2.4 pt-online-schema-change ___3.4.2.5 온라인 스키마 변경을 사용해도 될까? __3.4.3 테이블 삭제 _3.5 데이터 조작 __3.5.1 INSERT __3.5.2 SELECT __3.5.3 UPDATE __3.5.4 REPLACE __3.5.5 DELETE
  • 9.
    세부 교육내용 마리아DB(Maria DB) &MySQL ▣ 04장: 실행 계획 분석 _4.1 개요 __4.1.1 쿼리 실행 절차 __4.1.2 옵티마이저의 종류 __4.1.3 통계 정보 ___4.1.3.1 MySQL 5.6의 통계 정보 ___4.1.3.2 MariaDB 10.0의 통계 정보 __4.1.4 히스토그램 통계 정보 ___4.1.4.1 히스토그램이란? ___4.1.4.2 MariaDB에서 히스토그램 사용 __4.1.5 조인 옵티마이저 옵션 _4.2 예제 데이터 준비 __4.2.1 예제 데이터 적재 __4.2.2 통계 정보 수집 _4.3 실행 계획 분석
  • 10.
    세부 교육내용 마리아DB(Maria DB) &MySQL _4.3 실행 계획 분석 __4.3.1 id 칼럼 __4.3.2 select_type 칼럼 ___4.3.2.1 SIMPLE ___4.3.2.2 PRIMARY ___4.3.2.3 UNION ___4.3.2.4 DEPENDENT UNION ___4.3.2.5 UNION RESULT ___4.3.2.6 SUBQUERY ___4.3.2.7 DEPENDENT SUBQUERY ___4.3.2.8 DERIVED ___4.3.2.9 UNCACHEABLE SUBQUERY ___4.3.2.10 UNCACHEABLE UNION ___4.3.2.11 MATERIALIZED ___4.3.2.12 INSERT
  • 11.
    세부 교육내용 마리아DB(Maria DB) &MySQL _4.3.3 table 칼럼 __4.3.4 type 칼럼 ___4.3.4.1 system ___4.3.4.2 const ___4.3.4.3 eq_ref ___4.3.4.4 ref ___4.3.4.5 fulltext ___4.3.4.6 ref_or_null ___4.3.4.7 unique_subquery ___4.3.4.8 index_subquery ___4.3.4.9 range ___4.3.4.10 index_merge ___4.3.4.11 index ___4.3.4.12 ALL
  • 12.
    세부 교육내용 마리아DB(Maria DB) &MySQL __4.3.5 possible_keys 칼럼 __4.3.6 key 칼럼 __4.3.7 key_len 칼럼 __4.3.8 ref 칼럼 __4.3.9 rows 칼럼 __4.3.10 Extra 칼럼 ___4.3.10.1 const row not found ___4.3.10.2 Distinct ___4.3.10.3 Full scan on NULL key ___4.3.10.4 Impossible HAVING ___4.3.10.6 Impossible WHERE noticed after reading const tables ___4.3.10.7 No matching min/max row ___4.3.10.8 no matching row in const table ___4.3.10.9 No tables used ___4.3.10.10 Not exists ___4.3.10.11 Range checked for each record(index map: N)
  • 13.
    세부 교육내용 마리아DB(Maria DB) &MySQL ___4.3.10.12 Scanned N databases ___4.3.10.13 Select tables optimized away ___4.3.10.14 Skip_open_table, Open_frm_only, Open_trigger_only, Open_full_table ___4.3.10.15 unique row not found ___4.3.10.16 Using filesort ___4.3.10.17 Using index(커버링 인덱스) ___4.3.10.18 Using index for group-by ___4.3.10.19 Using join buffer(Block Nested Loop), Using join buffer(Batched Key Access) ___4.3.10.20 Using sort_union, Using union, Using intersect, Using sort_intersection ___4.3.10.21 Using temporary ___4.3.10.22 Using where ___4.3.10.23 Using where with pushed condition ___4.3.10.24 Deleting all rows ___4.3.10.25 FirstMatch(tbl_name)
  • 14.
    세부 교육내용 마리아DB(Maria DB) &MySQL __4.3.10.26 LooseScan(m n) ___4.3.10.27 Materialize, Scan ___4.3.10.28 Start materialize, End materialize, Scan ___4.3.10.29 Start temporary, End temporary ___4.3.10.30 Using index condition ___4.3.10.31 Rowid-ordered scan, Key-ordered scan ___4.3.10.32 No matching rows after partition pruning __4.3.11 EXPLAIN EXTENDED(Filtered 칼럼) __4.3.12 EXPLAIN EXTENDED(추가 옵티마이저 정보) __4.3.13 EXPLAIN PARTITIONS(Partitions 칼럼) _4.4 옵티마이저 힌트 __4.4.1 힌트의 사용법 __4.4.2 STRAIGHT_JOIN __4.4.3 USE INDEX / FORCE INDEX / IGNORE INDEX __4.4.4 SQL_CACHE / SQL_NO_CACHE __4.4.5 SQL_CALC_FOUND_ROWS __4.4.6 기타 힌트
  • 15.
    세부 교육내용 마리아DB(Maria DB) &MySQL _4.5 실행 계획 분석 시 주의사항 __4.5.1 Select_type 칼럼의 주의 대상 __4.5.2 Type 칼럼의 주의 대상 __4.5.3 Key 칼럼의 주의 대상 __4.5.4 Rows 칼럼의 주의 대상 __4.5.5 Extra 칼럼의 주의 대상 ___4.5.5.1 쿼리가 요건을 제대로 반영하고 있는지 확인해야 하 는 경우 ___4.5.5.2 쿼리의 실행 계획이 좋지 않은 경우 ___4.5.5.3 쿼리의 실행 계획이 좋은 경우
  • 16.
    세부 교육내용 마리아DB(Maria DB) &MySQL _▣ 05장: 최적화 _5.1 풀 테이블 스캔 _5.2 ORDER BY 처리(Using filesort) __5.2.1 소트 버퍼(Sort buffer) __5.2.2 정렬 알고리즘 __5.2.3 정렬의 처리 방식 ___5.2.3.1 인덱스를 사용한 정렬 ___5.2.3.2 드라이빙 테이블만 정렬 ___5.2.3.3 임시 테이블을 이용한 정렬 ___5.2.3.4 정렬 방식의 성능 비교 __5.2.4 ORDER BY....LIMIT n 최적화 __5.2.5 정렬 관련 상태 변수 _5.3 GROUP BY 처리 __5.3.1 인덱스 스캔을 이용하는 GROUP BY(타이트 인덱스 스 캔) __5.3.2 루스(loose) 인덱스 스캔을 이용하는 GROUP BY __5.3.3 임시 테이블을 사용하는 GROUP BY
  • 17.
    세부 교육내용 마리아DB(Maria DB) &MySQL __5.4 DISTINCT 처리 __5.4.1 SELECT DISTINCT __5.4.2 집함 함수와 함께 사용된 DISTINCT _5.5 임시 테이블(Using temporary) __5.5.1 임시 테이블이 필요한 쿼리 __5.5.2 임시 테이블이 디스크에 생성되는 경우(Aria 스토리지 엔진을 사용) __5.5.3 임시 테이블 관련 상태 변수 __5.5.4 인덱스를 가지는 내부 임시 테이블 __5.5.5 내부 임시 테이블(Internal Temporary Table)의 주의사항 _5.6 인덱스 컨디션 푸시다운(Index Condition Pushdown, ICP) _5.7 멀티 레인지 리드(Multi Range Read) __5.7.1 RowId 기준 정렬(Rowid-ordered scan) __5.7.2 Key 기준 정렬(Key-ordered scan) __5.7.3 Key와 RowId 모두 정렬(Key-ordered, Rowid-ordered scan) __5.7.4 멀티 레인지 리드 최적화와 정렬 __5.7.5 멀티 레인지 리드 최적화 주의 사항
  • 18.
    세부 교육내용 마리아DB(Maria DB) &MySQL _5.8 인덱스 머지(Index merge) __5.8.1 Using union __5.8.2 Using sort_union __5.8.3 Using intersect __5.8.4 Using sort_intersect _5.9 테이블 조인 __5.9.1 조인의 종류 ___5.9.1.1 JOIN (INNER JOIN) ___5.9.1.2 OUTER JOIN ___5.9.1.3 카테시안 조인 ___5.9.1.4 NATURAL JOIN __5.9.2 조인 알고리즘 ___5.9.2.1 조인 캐시 레벨(join_cache_level) ___5.9.2.2 조인 버퍼 설정
  • 19.
    세부 교육내용 마리아DB(Maria DB) &MySQL ___5.9.2.3 단순 네스티드 루프(Simple Nested Loop, NL) ___5.9.2.4 블록 네스티드 루프(Block Nested Loop, BNL) ___5.9.2.5 블록 네스티드 루프 해시(Block Nested Loop Hash, BNLH) ___5.9.2.6 블록 인덱스 조인(Block Index Join, Batched Key Access, BKA) ___5.9.2.7 블록 인덱스 해시 조인(Block Index Hash Join, Batched Key Access Hash) __5.9.3 조인의 주의사항 ___5.9.3.1 조인 실행 결과의 정렬 순서 ___5.9.3.2 INNER JOIN과 OUTER JOIN의 선택 _5.10 서브 쿼리 __5.10.1 세미 조인 서브쿼리 최적화 ___5.10.1.1 Table pullout 최적화 ___5.10.1.2 FirstMatch 최적화 ___5.10.1.3 Semi-join Materialization 최적화 ___5.10.1.4 LooseScan 최적화
  • 20.
    세부 교육내용 마리아DB(Maria DB) &MySQL ___5.10.1.5 Duplicate Weedout 최적화 __5.10.2 세미 조인이 아닌 서브쿼리 최적화 ___5.10.2.1 Materialization ___5.10.2.2 IN-to-EXISTS __5.10.3 서브 쿼리 캐시 ▣ 06장: 스토리지 엔진 _6.1 Aria 스토리지 엔진 __6.1.1 트랜잭션 __6.1.2 페이지 캐시 __6.1.3 시스템 설정 변수 _6.2 XtraDB 스토리지 엔진 __6.2.1 InnoDB와 XtraDB 스토리지 엔진 교체
  • 21.
    세부 교육내용 마리아DB(Maria DB) &MySQL _6.3 InnoDB 스토리지 엔진 __6.3.1 MySQL 5.6 InnoDB ___6.3.1.1 영구적인 통계 정보 ___6.3.1.2 데이터 읽기 최적화 ___6.3.1.3 커널 뮤텍스(Kernel mutex) ___6.3.1.4 멀티 스레드 기반의 언두 퍼지(Multi threaded purge) ___6.3.1.5 독립된 플러시 스레드 ___6.3.1.6 가변 페이지 사이즈 ___6.3.1.7 테이블 스페이스 복사(Transportable tablespace) ___6.3.1.8 독립된 언두 스페이스 ___6.3.1.9 읽기 전용 트랜잭션(Read-only transaction) 최적화 ___6.3.1.10 버퍼 풀 덤프 & 로드 ___6.3.1.11 리두 로그 사이즈 ___6.3.1.12 리두 로그 크기 변경 ___6.3.1.13 데드락 이력
  • 22.
    세부 교육내용 마리아DB(Maria DB) &MySQL __6.3.2 더티 페이지 플러시 ___6.3.2.1 플러시 리스트 플러시 ___6.3.2.2 LRU 리스트 플러시 ___6.3.2.3 InnoDB와 XtraDB의 더티 플러시 ___6.3.2.4 MySQL 5.5 InnoDB의 더티 플러시 ___6.3.2.5 MariaDB 5.5 XtraDB의 더티 플러시 ___6.3.2.6 MySQL 5.6 InnoDB의 더티 플러시 ___6.3.2.7 MariaDB 10.0의 XtraDB __6.3.3 버퍼 풀 성능 개선 ___6.3.3.1 NUMA ___6.3.3.2 버퍼 풀 메모리 초기 할당 ___6.3.3.3 InnoDB 잠금 세분화 ___6.3.3.4 I/O 기반의 워크로드 성능 향상 ___6.3.3.5 어댑티브 해시 파티션
  • 23.
    세부 교육내용 마리아DB(Maria DB) &MySQL _6.3.4 원자 단위의 쓰기(FusionIO SSD를 위한 Atomic write) __6.3.5 확장된 InnoDB 엔진 상태 출력 ___6.3.5.1 백그라운드 스레드 관련 상태 변수 ___6.3.5.2 세마포어 관련 상태 변수 ___6.3.5.3 인서트 버퍼와 어댑티브 해시 인덱스 관련 상태 변수 ___6.3.5.4 로그 관련 상태 변수 ___6.3.5.5 버퍼 풀 관련 상태 변수 ___6.3.5.6 트랜잭션 관련 상태 변수 __6.3.6 XtraDB 리두 로그 아카이빙 __6.3.7 변경된 페이지 트랙킹 _6.4 전문 검색 엔진 __6.4.1 전문 검색 인덱스 추가 __6.4.2 전문 검색 인덱스를 위한 테이블 스페이스 __6.4.3 전문 검색 인덱스 관련 INFORMATION_SCHEMA 정보 ___6.4.3.1 InnoDB의 모든 전문 검색 인덱스에 적용되는 내용 ___6.4.3.2 전문 검색 인덱스를 가진 테이블 단위로 적용되는 내 용
  • 24.
    세부 교육내용 마리아DB(Maria DB) &MySQL __6.4.4 전문 검색 인덱스 사용 __6.4.5 주의 사항 _6.5 Memcached 플러그인 __6.5.1 아키텍처 __6.5.2 설치 및 테스트 __6.5.3 캐시 정책 __6.5.4 사용자 테이블 등록 __6.5.5 관련 시스템 변수 _6.6 카산드라 스토리지 엔진 __6.6.1 카산드라 __6.6.2 카산드라 스토리지 엔진 _6.7 CONNECT 스토리지 엔진 __6.7.1 CONNECT 스토리지 엔진 설치 __6.7.2 오라클 RDBMS 테이블 연결 __6.7.3 my.cnf 설정 파일 연결 __6.7.4 운영체제의 디렉터리 연결
  • 25.
    세부 교육내용 마리아DB(Maria DB) &MySQL _6.8 시퀀스 스토리지 엔진 __6.8.1 시퀀스 스토리지 엔진 기본 사용법 __6.8.2 누락된 번호 찾기 __6.8.3 순차적으로 조합된 번호 쌍 생성 __6.8.4 배수 또는 공배수 찾기 __6.8.5 순차적인 알파벳 생성 __6.8.6 순차적인 날짜 생성 __6.8.7 데이터 복제 가공 _6.9 Mroonga 전문 검색 스토리지 엔진 __6.9.1 인덱스 알고리즘 ___6.9.1.1 구분자(Stopword) 방식 ___6.9.1.2 n-Gram 방식 ___6.9.1.3 구분자와 n-Gram의 차이 __6.9.2 Mroonga 전문 검색 엔진 설치 __6.9.3 Mroonga 전문 검색 엔진 사용
  • 26.
    세부 교육내용 마리아DB(Maria DB) &MySQL ▣ 07장: 기타 기능 _7.1 성능 향상 __7.1.1 스레드 풀(Thread Pool) ___7.1.1.1 MySQL 서버의 전통적인 연결 및 처리 방식 ___7.1.1.2 MariaDB의 스레드 풀 ___7.1.1.3 MariaDB 스레드 풀의 사용과 튜닝 ___7.1.1.4 주의 사항 _7.2 관리 및 진단 __7.2.1 SHOW EXPLAIN FOR [THREAD-ID