IT전문교육 의 리더!

HOME>IT전문가>데이터베이스>MariaDB

MariaDB

20회차 속성과정|전체 : 19시간 46분|회차당 평균 : 59분17초
370,000225,000
  • 이용기간 2개월|전문강사 : 현준영
Study Guides
MariaDB(마리아DB)는 MySQL이나 오라클과 같은 하나의 독립적인 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 알지오 마리아DB 강좌를 통해 기동 및 쿼리 실행, 최적화 방법, 스토리지 엔진 등의 내용을 배우고, 100% 실습을 통한 학습으로 실무에서 바로 활용할 수 있는 스킬을 쌓을 수 있습니다.
 
  • 0157분 MariaDB 시작설치/기동 및 쿼리 실행/서버 시작 및 종료/서버 로그인/데이터베이스 및 사용자 생성/전역권한/데이터베이스 레벨 권한/테이블 레벨 권한/스토어드 프로그램 레벨 권한/

    책갈피 : [00:00] 마리아DB란/[00:11] 간단한 설치과정/[01:10] 윈도우 버전, 리눅스 버전/[01:37] 윈도우 버전으로 설치하는 방법(MSI, zip)/[04:08] 마리아DB 실행/[04:22] 리눅스 버전으로 설치하는 방법(RPM, tar.gz)/[05:13] 마리아DB 업그레이드/[07:51] 시작과 종료 방법/[09:06] 설정파일 확인/[09:18] my-small.ini 파일 확인/[09:40] default 파일 설정 및 실행/[10:17] 기동 및 쿼리 실행/[10:42] 마리아DB 서버 로그인/[12:07] my-sql 클라이언트 서버 로그인/[13:34] my-sql 클라이언트 프로그램/[14:02] 연결정보 확인/[14:32] my-sql 클라이언트 프로그램의 장점/[15:04] my-sql 클라이언트 프로그램의 옵션/[15:32] --host/[15:48] --port/[15:58] --user/[16:14] --password/[16:34] --database/[16:50] --execute/[17:04] --auto-rehash/[17:30] --batch/[17:44] --skip-column-names/[18:04] --safe-updates/[18:45] 옵션의 사용 예제1 (execute)/[19:34] 옵션의 사용 예제2 (execute)/[19:55] 옵션의 사용 예제3 (batch, execute)/[20:48] 옵션의 사용 예제4 (batch, skip-column-names)/[21:14] 데이터베이스 및 사용자 생성/[21:58] 사용자 식별/[23:15] 모두 접속 가능한 사용자 계정/[23:33] 주의할 점(중첩되는 계정이 여러개일 경우)/[24:55] 권한/[25:25] 사용자에게 권한 부여/[25:44] on절에 명시하는 오브젝트/[25:53] privilege_list/[27:51] 전역권한/[31:02] 데이터베이스 레벨 권한/[32:25] 테이블 레벨 권한/[33:57] 스토어드 프로그램 레벨 권한/[34:33] GRANT 명령/[35:10] GRANT 옵션 권한의 특징/[35:56] 전역권한 부여 (super)/[36:49] 데이터베이스 권한 부여 (event)/[37:43] 테이블 권한 부여1 (모든 데이터베이스의 오브젝트)/[38:02] 테이블 권한 부여2 (특정 데이터베이스의 오브젝즈)/[38:11] 테이블 권한 부여3 (특정 데이터베이스의 특정 테이블)/[38:20] 테이블 권한 부여4 (특정 컬럼에 대해서만 권한 부여)/[39:35] user, host/[39:45] 권한 그룹/[40;06] create role/[42:12] 특정 사용자에게 권한 부여/[42:38] 실제 사용자에게 권한 부여/[43:01] 아쉬운 점/[43:25] set role/[44:38] 기본 사용자와 기본 데이터베이스/[45:01] my-sql_install_db/[45:36] 기본적으로 제공되는 사용자 계정/[47:38] my-sql_secure_installation/[48:03] my-sql 데이터베이스/[48:35] informatin schema 데이터베이스/[49:23] performance schema 데이터베이스/[50:38] 불필요한 권한 삭제/[50:50] 테이블 살펴보기/[52:27] flush privileges/[53:00] 새로운 데이터베이스와 사용자 생성/[53:25] 데이터베이스 생성과 문자셋 지정/[53:55] 기존 데이터베이스 삭제/[54:17] 새로운 사용자 생성과 권한 부여/[56:24] 관리자 계정/[57:08] flush privileges

  • 0255분 기동 및 쿼리 실행과 실행 계획 분석테이블 생성 및 변경/오프라인, 온라인 스키마 변경/Lock, Algorithm/Inplace 사용시 작업 절차/온라인 스키마 변경 작업별 처리 방식/테이블 삭제/데이터 조작/쿼리 실행 절차/옵티마이저/통계정보

    책갈피 : [00:00] 데이블 생성 및 변경/[00:45] 테이블 생성/[02:13] my.ini 파일 확인/[02:54] 테이블 내역 확인/[03:40] 오프라인 스키마 변경/[04:07] Alter table/[04:43] 컬럼 추가와 인덱스 생성/[06:35] 여러개의 스키마 변경 문장 처리/[07:15] 간단한 스키마 변경 작업/[07:44] 온라인 스키마 변경/[08:38] 테이블 생성/[09:38] 마리아DB 5.5에서 실패하는 문장/[10:21] 마리아DB 10.0/[11:01] InnoDB, TokoDB/[11:09] 온라인 처리 가능한 명령/[11:26] 존재하는 컬럼의 길이를 늘리는 온라인 스키마 변경/[12:36] 개선 계획에 포함된 온라인 스키마 변경/[13:02] 개선 계획에 포함되지 않은 온라인 스키마 변경/[13:28] InnoDB, XtraDB/[13:41] My-sql의 온라인 스키마 변경/[14:13] Lock절, Algorithm절/[14:40] Lock절에 올 수 있는 사항/[15:25] Algorithm절에 올 수 있는 사항/[16:15] Inplace 사용시 작업 절차/[18:10] Online alter log/[19:02] Copy/[19:42] 온라인 스키마 변경 작업별 처리방식/[21:24] 외래키 생성 및 주의사항/[23:08] 프라이머리 키 추가 및 삭제/[25:00] Inplace/[25:32] auto_incriment/[26:39] 온라인 스키마 변경에 실패하는 경우/[28:23] pt-online-schema-change 툴/[29:41] actor/[32:12] 테이블 삭제/[33:00] 버퍼풀에서 해당 테이블 페이지 제거/[33:36] 디스크에서 물리적 데이터 파일 삭제/[34:25] 데이터 조작/[34:52] 기본데이터베이스 설정(use)/[35:05] 테이블 생성과 데이터 입력/[35:57] on duplicate key update/[36:38] 데이터 변경/[37:08] select문/[37:23] select 문장에서 원하는 컬럼만 조회/[37:36] My-sql 클라이언트 프로그램을 사용할 경우/[38:00] update문/[38:23] replace문/[39:54] delete문/[41:07] 실행 계획 분석/[42:14] 쿼리 실행 절차(sql파싱 단계)/[43:12] 쿼리 실행 절차(최적화 및 실행계획 수립 단계)/[44:05] 쿼리 실행 절차(데이터 읽기 단계)/[44:49] 쿼리 파서와 옵티마이저/[45:07] 옵티마이저 종류(RBO, CBO)/[46:50] 통계정보/[47:47] my-sql 5.6 통계정보/[48:50] stats_persistent/[50:41] use/[51:06] select문을 사용한 조회/[51:43] 통계정보 수집 경우/[52:50] innodb_stats_auto_recalc/[53:53] innodb_stats_sample_pages

  • 0358분 통계정보MaroaDB 10.0 통계정보/히스토그램 통계정보/조인 옵티마이저 옵션

    책갈피 : [00:05] MariaDB 10.0 통계정보 살펴보기/[00:29] 테이블의 통계정보가 다른형태로 관리될 때의 문제점/[01:23] 통합된 통계정보를 관리할 수 있는 기능 제공/[01:55] 동계정보가 부정확할 경우/[02:14] MariaDB 10.0 통계정보를 관리하는 3가지 테이블/[02:52] table_stats구조/[03:12] db_name, table_name, cardinality/[03:23] column_stats의 구조/[03:49] nulls_ratio/[04:27] index_stats의 구조/[04:38] prefix_arity/[05:00] avg_frequency/[05:46] use_stat_tables시스템/[06:00] 기본값 never로 설정할 경우/[06:30] complementary로 설정할 경우/[07:27] preferably로 설정할 경우/[07:59] innodb_stats_auto_recalc시스템 설정 변수/[08:33] show global variables명령/[09:07] table_stats조회/[09:28] analyze table명령 실행/[10:03] use_stat_tables시스템 설정값 확인/[10:54] persistent for를 이용해 columns과 indexes선택/[11:50] analyze table tbl persistent for all로 지정할 경우/[12:11] 히스토그램 통계정보/[12:35] 히스토그램이 없는 경우/[14:30] Heigh-Balanced Histogram/[15:09] Heigh-Balanced Histogram의 그림 참조/[16:37] 테스트를 위해 예제 데이터 로드/[16:52] 코드내용 확인/[17:22] 데이터베이스 생성 후 테이블 생성/[17:51] source employees.sql실행/[18:11] 불필요한 인덱스를 삭제하는 쿼리/[18:29] show tables로 생성된 테이블 확인/[18:48] use_stat_tables의 값 preferably로 변경/[19:30] mysql.table_stats에 데이터 생성 확인/[21:10] 히스토그램 자세히 살펴보기/[21:36] histogram varbinary(255)/[22:07] 알파 값/[22:51] histogram_type변수/[23:22] 히스토그램 데이터 보기/[23:52] decode_histogram함수 제공/[24:59] hist_size설정값/[26:03] salaries조회/[26:55] histogram값 확인/[28:11] mariaDB에서 histogram사용하는 방법/[28:36] histogram_size설정 기본값/[29:55] analyze table명령 사용/[30:41] column_stats의 내용 확인/[31:41] optimizer_use_condition_selectivity/[34:22] optimizer_selectivity_sampling_limit/[35:15] select문장 보기/[36:15] 실제 조회 결과/[37:07] histogram_size를 100으로 설정/[38:00] 조인 옵티마이저 옵션/[38:12] Exhaustive, Greedy/[38:45] 옵티마이저 옵션이 Exhaustive일 때/[40:07] Greedy방법/[42:52] optimizer_search_depth/[44:15] optimizer_search_depth설명/[46:43] optimizer_prune_level설명/[48:43] create table/[49:21] show tables로 조회/[49:30] 시스템 변수 설정/[50:07] select문 날리기/[51:00] optimizer_search_depth의 max값인 62설정/[51:52] profile기능 살펴보기/[52:30] show profiles이용/[53:21] statistics의 소요 시간/[54:30] 통계정보를 볼 때 주의할 점

  • 0450분 실행 계획 분석 part1EXPLAIN/id/select_type/table

    책갈피 : [00:04] 실행 계획 분석을 위해 통계정보 수집/[00:26] employees db에 속한 table에 대해 analyze/[00:37] analyze를 할 때 주의할 점/[00:56] mysql.table_stats통계 테이블 드랍/[01:11] Msg_text확인/[01:47] mysql_upgrade/[02:15] 다른 디렉토리에 설치한 경우 주의할 점/[03:23] 테이블 복구 후 analyze/[03:45] optimizer_switch시스템 설정 변수/[04:09] 조회하기/[04:30] set명령을 통해 옵션 변경/[04:46] 조회하기/[05:12] global과 session선택적으로 지정/[05:30] Explain명령/[06:27] 확인할 select쿼리 문장 입력/[07:00] 표 형태로된 결과 표시/[07:30] 실행하는 순서/[09:13] update, insert, delete문장/[09:43] 각 컬럼 살펴보기/[10:07] id/[11:01] 단위 쿼리/[11:24] from절에 여러개의 테이블이 올 경우/[12:30] select_type/[13:01] select_type컬럼에 표시될 수 있는 값/[13:37] simple/[14:20] primary/[15:00] union/[15:48] derived로 표시/[16:33] dependent union/[17:03] in과 서브쿼리 안에 union이 들어있는 쿼리 예제/[18:15] 내부 쿼리가 외부의 값을 참조해서 처리/[20:26] union result/[21:15] 예제 쿼리의 실행 계획 확인/[21:52] subquery/[22:07] from절 이외에서 사용되는 subquery만을 의미/[23:15] nested query / sub query / derived/[24:14] scalar sub query / row sub query/[25:00] dependent subquery/[26:45] derived/[27:37] 메모리나 디스크에 임시 테이블 생성/[28:37] from절이 subquery를 조인으로 처리하는 형태/[29:29] derived형태의 실행 계획을 조인 형태로 변경/[30:11] 실행 계획을 보고 쿼리 튜닝/[31:03] uncacheable subquery/[31:33] subquery와 dependent subquery의 캐시방법 알아보기/[32:15] subquery와 uncacheable subquery의 차이점/[32:44] 캐시를 사용하지 못하도록 하는 요소/[32:59] not-deterministic 속성의 스토어드 루틴/[33:14] uuid함수, rand함수/[33:49] uncacheable union/[34:22] materialized/[36:19] table에 subquery2/[36:42] insert/[37:37] insert문장이 실행될 때/[38:22] update문장의 예제/[38:52] simple이라고 출력/[39:15] table 컬럼/[40:14] from절이 없어도 쿼리 실행/[41:00] , /[42:22] 쿼리를 이용해서 실행 계획을 보고 실행 계획 분석/[43:15] 첫번째 라인의 테이블 /[43:37] id가 2번인 라인 확인/[44:19] id확인/[45:00] derived2테이블을 먼저 읽어서 emp테이블로 조인 실행/[45:28] 주의점/[46:00] 임시 테이블의 별칭/[46:30] type 컬럼 살펴보기/[47:19] 조인 타입/[47:50] type컬럼의 표시되는 값/[48:30] All을 제외한 나머지는 index를 사용하는 접근방법/[49:04] index_merge를 제외한 나머지 접근방법은 하나의 index만 사용

  • 0556분 실행 계획 분석 part2Type의 종류/possible_keys/key/key_len/ref/rows

    책갈피 : [00:15] type 컬럼 자세히 알아보기/[00:37] system/[01:00] test라는 테이블 생성/[01:33] tb_dual에서 select/[02:00] const/[02:42] 타입 확인/[02:53] dept_emp의 구조/[03:30] 타입 ref/[04:09] dept_no와 emp_no 둘 다 주었을 경우/[05:08] subquery 확인/[05:30] 실제 조회 했을 경우/[05:46] eq_ref/[06:25] 여러 테이블이 조인되어있는 예제/[07:15] 실행계획 살펴보기/[08:16] ref/[09:07] dept_emp에서 dept_no만 조건을 주고 select/[09:50] ref컬럼에 대한 값 확인/[10:13] const, eq_ref, ref 비교/[11:13] 동등, 비교 연산자/[12:07] fulltext/[13:05] match against구문/[14:33] 전문 검색용 인덱스/[14:52] where절의 조건 확인/[15:54] 실행계획 살펴보기/[16:07] const타입이 없을 경우/[16:17] 결과 확인/[18:06] ref_or_null/[18:48] unique_subquery/[20:26] index_subquery/[21:29] range/[21:52] 부등호, is null, between, in like연산자/[23:29] index_merge/[24:00] index_merge접근 방법의 특징/[25:22] 예제 확인/[26:10] index/[27:26] index접근 방법 사용의 경우/[28:22] order by/[29:06] limit조건/[29:26] ALL/[30:21] Read Ahead기능/[31:37] possible_keys 컬럼/[32:15] 실행했던 예제 확인/[33:07] key 컬럼/[33:37] 실행계획 확인/[33:59] key 컬럼에 표시된 값이 primary인 경우/[34:15] type 확인/[34:30] 테스트 했었던 쿼리 확인/[35:45] key_len 컬럼/[36:45] dept_emp의 구조/[37:07] select문 확인/[37:22] dept_no만 조건으로 가지고 있는 쿼리의 실행계획 확인/[37:42] key_len의 값/[38:43] dept_no조건과 함께 emp_no도 사용한 쿼리확인/[40:06] ix_todate 인덱스/[40:22] key_len에 값이 4가 출력된 이유/[41:00] key_len에서 주의할 점/[41:37] 5.1이상의 버전과 5.0이하의 버전 차이/[42:58] 두버전의 차이를 보이는 이유/[43:45] condition push down기능/[43:52] ref 컬럼/[44:12] 상수값을 지정했을 경우/[44:37] 동등 조인/[45:00] 주의 깊게 봐야할 ref 컬럼의 값/[45:49] 산술표현식을 사용해 만든 쿼리/[46:59] rows 컬럼/[47:43] rows 컬럼에 나오는 값/[48:36] 쿼리 확인/[49:20] rows 컬럼 확인/[50:21] 실행계획의 타입 확인/[51:00] extra 컬럼/[52:07] const row not found/[52:45] distinct/[54:01] 실행계획 그림 확인

  • 0658분 실행 계획 분석 part3Extra 칼럼에서 쓸 수 있는 문장을 살펴봅니다.

    책갈피 : [00:10] Full scan on NULL key/[00:38] NULL을 알 수 없는 값으로 정의/[01:56] 예제 보기/[02:38] 쿼리의 조건에 col1 is NOT NULL지정/[03:43] Impossible HAVING/[03:59] 예제 보기/[04:26] e.emp_no/[05:00] Impossible WHERE/[05:28] where조건/[05:46] Impossible WHERE noticed after reading const tables/[06:57] MariaDB가 실행계획을 만드는 과정에서 쿼리의 일부분 실행/[07:30] 예제 쿼리를 실행했을 경우/[08:01] No matching mi/max row/[08:50] min이나 max의 결과는 null값을 반영/[09:03] 데이터가 없게 만드는 조건 찾기/[09:54] no matching row in const table/[10:16] Impossible WHERE와 같은 종류/[11:03] No tables used/[11:28] from절이 없는 쿼리 허용/[12:09] dual테이블 사용/[12:39] Not exists/[13:01] NOT IN(subquery)형태나 NOT EXISTS연산자 사용/[14:50] Not exists메시지 표시 주의점/[15:26] Range checked for each record(index map:N)/[16:00] 조인 조건/[18:02] 증가 시키며 처리 상황 보기/[18:30] index와 관련된 번호/[19:11] index의 순서/[19:45] type은 ALL로 표시/[20:36] 복잡한 index map의 예제/[21:00] (index map: 0x19)일 경우/[21:21] 이진법 비트배열 해석/[23:18] global status중에 select_range_check확인/[23:33] Scanned N databases/[23:52] INFORMATION_SCHEMA 데이터베이스가 제공/[25:00] 개선된 조회를 통해 메타정보를 검색할 경우/[25:21] N의 의미/[26:32] where조건 보기/[27:15] Select tables optimized away/[27:51] MyISAM테이블/[28:22] 두가지 쿼리 확인/[28:48] 실행 계획 확인/[29:06] employees CREATE TABLE 문장 확인/[29:52] salaries CREATE TABLE 문장 확인/[30:45] Skip_open_table, Open_frm_only, Open_trigger_only, Open_full_table/[31:18] 테이블의 메타정보가 저장된 파일/[31:56] 각각의 의미 알아보기/[33:00] unique row not found/[33:30] 예제의 test1과 test2의 테이블/[34:13] on절과 where절 확인/[35:20] Using filesort/[36:04] order by가 사용된 쿼리의 실행 계획에서 확인/[36:42] 실행 계획 확인/[37:07] Using index(커버링 인덱스)/[38:29] 예제의 first_name은 index가 있고 birth_date는 index가 없는 상태/[38:58] ix_firstname을 검색해서 일치하는 레코드 검색/[40:07] 동일한 쿼리문의 birth_date는 생략된 예제/[41:13] Using index메시지 출력/[41:49] 클러스터링 인덱스 보조인덱스:+프라이머리키값/[43:07] emp_no를 포함한 예제/[43:44] 추가 컬럼을 가지는 효과/[44:37] 실행 계획의 타입 컬럼, 접근 방법/[45:04] eq_ref, ref, rang, index_merge, index/[46:45] Using index for group-by/[47:37] group-by처리가 index를 이용할 때/[48:45] 타이트 인덱스 스캔(인덱스 스캔)/[50:07] 루스 인덱스 스캔/[51:34] salaries CREATE TABLE 문장 확인/[53:12] group-by에서 index를 사용하기 위한 방법/[53:52] where절이 없는 경우/[54:21] where절 인덱스 사용 불가/[54:52] 쿼리 확인/[55:07] employees구조 다시 확인/[55:30] where절 인덱스 사용 가능

  • 0757분 실행 계획 분석 part4Extra 칼럼에서 쓸 수 있는 문장을 살펴봅니다.(2)

    책갈피 : [00:03] Using join buffer/[00:19] join되는 컬럼의 index설명/[01:11] dept_emp와 employees를 join하는 예제/[02:00] de테이블의 비효율적인 검색 보완/[02:23] 읽은 레코드를 임시로 저장하는 메모리 공간/[02:42] join_buffer_size 시스템 설정 변수/[04:00] Using join buffer/[04:15] BNL join/[05:24] Batched Key Access/[05:55] Using sort_union, Using union, Using intersect, Using sort_intersection/[06:30] Using union설명/[06:53] Using sort_union설명/[07:27] Using intersect설명/[07:46] Using sort_intersection설명/[08:31] Using sort_union, Using union은 index를 사용하는 조건이 or로 연결된 경우 사용/[09:20] Using sort_union, Using union의 차이/[09:52] Using temporary/[10:20] 임시테이블을 사용했을 경우 표시/[10:37] employees에서 조회/[10:56] 임시테이블 필요/[11:37] 임시테이블을 생성하는 쿼리/[13:18] Using where/[13:45] 스토리지엔진/[14:01] MySQL엔진(조인, 필터링, 집합처리)/[14:46] 실제 작업범위 제한 조건/[16:03] Extra에 나오는 Using where/[17:18] 실행계획에 filtered컬럼을 표시하고 분석/[17:37] index의 최적화 살펴보기/[19:22] MySQL엔진과 스토리지엔진의 문제점/[20:18] 작업범위 제한 조건으로 사용되지 못하는 조건/[22:03] 이원화된 구조의 불합리 제거를 위한 방법/[22:44] Condition push down기능/[22:52] Using where with pushed condition/[23:41] NDB Cluster 스토리지엔진을 사용하는 테이블에 표시/[24:06] SQL노드, Data노드/[24:37] Deleting all rows/[25:10] where조건절이 없는 delete문장의 실행계획에 표시/[25:56] 테이블의 모든 레코드 삭제/[26:22] 핸들러함수 호출로 처리/[26:48] 비교를 위해 delete문에 where조건 주기/[27:15] FirstMatch/[27:56] IN을 EXISTS로 바꿔서 처리/[28:56] 실행계획 확인/[29:52] LooseScan/[31:41] 중복된 레코드를 제거할 수 있는 경우 사용/[32:22] Materialize/[33:07] 쿼리 실행 계획의 select_type/[33:22] Scan/[33:45] Start materialize, End materialize, Scan/[34:20] Start temporary, End temporary/[34:43] Duplicate Weedout최적화/[35:15] Using index condition/[36:29] Extra에 Using where출력/[37:52] Extra에 Using index condition출력/[38:37] Index Condition Pushdown/[38:52] Rowid-ordered scan, Key-ordered scan/[39:07] MRR추가/[40:14] 랜덤데이터 파일 읽기의 횟수 줄이기/[41:00] employees에서 모든 정보를 조회한 쿼리/[41:45] Extra에 xtra에 Rowid-ordered scan출력/[42:20] 사용된 MRR최적화/[42:45] Key-ordered scan설명/[44:37] 실행 계획의 Extra컬럼-BKAH join/[45:19] join_cache_level 시스템 설정값 조절/[45:37] No matching rows after partition pruning/[47:22] EXPLAIN EXTENDED/[48:28] Filtered col추가/[49:12] 실행 계획의 filtered col/[50:14] EXPLAIN EXTENDED (추가 옵티마이저 정보)/[50:59] 추가된 select문 확인/[51:52] show warnings명령/[52:43] 상수로된 값 Georgi사용/[53:13] EXPLAIN PARTITIONS/[54:57] 실행 계획 확인/[55:15] Partition pruning/[56:15] to_days함수

  • 0856분 옵티마이저 힌트와 실행 계획 분석 시 주의사항straight_join/use index/force index/ignore index/sql_cache/sql_no_cache

    책갈피 : [00:11] 옵티마이저 힌트/[01:07] 힌트의 사용법/[01:25] 힌트를 잘못사용할 경우 오류 발생/[02:42] create table문장/[03:12] 주석 시작마크 뒤에 명시되어있는 숫자/[03:36] 해당 버전 이상과 이하의 경우/[04:30] 버전별 주석/[05:10] MariaDB버전/[06:46] 많이 사용되는 옵티마이저 힌트/[07:00] STRAIGHT_JOIN/[07:30] 여러개의 테이블이 join되는 경우에 join의 순서 고정/[08:56] 쿼리의 join순서를 변경하고 싶은 경우/[09:24] 실행계획 확인/[09:39] STRAIGHT_JOIN 힌트/[10:31] from절의 테이블 순서가 변경된 쿼리/[11:11] 실행계획 확인/[11:43] 첫번째 예제와 두번째 예제의 성능의 차이/[12:39] 레코드를 처리하는 횟수 차이/[13:03] STRAIGHT_JOIN의 기준/[13:18] 임시테이블과 일반테이블의 조인/[14:03] 임시테이블끼리의 조인/[14:26] 일반테이블끼리의 조인/[15:18] 예제 확인/[16:37] 인덱스 힌트/[17:10] USE INDEX(primary)라고 힌트/[17:48] USE INDEX / FORCE INDEX / IGNORE INDEX/[18:22] USE INDEX설명/[18:56] FORCE INDEX 설명/[20:15] IGNORE INDEX 설명/[20:48] 인덱스 힌트는 용도 지정 가능/[21:11] USE INDEX FOR JOIN/[21:47] USE INDEX FOR ORDER BY/[21:59] USE INDEX FOR GROUP BY/[22:22] 인덱스를 사용한 예제/[25:45] 인덱스의 사용법이나 실행계획을 판단하기 어려울 경우/[26:30] SQL_CACHE / SQL_NO_CACHE/[27:03] query_cache_type값/[27:45] 0(off), 1(on), 2(demand)/[28:07] 힌트와 변수값의 조합/[30:33] 예제 확인/[30:52] 동일한 내용을 실행시켜 각 쿼리의 시간 측정/[32:07] 쿼리의 성능, 처리방식을 판단하기 어려운 문제점/[32:49] SQL_NO_CACHE 힌트 사용/[33:15] SQL_CALC_FOUND_ROWS/[34:35] FOUND_ROWS 함수 사용/[34:57] 힌트 사용시 주의점/[35:15] 예제 비교해서 확인/[36:22] 첫번째 예제 쿼리를 두번 실행/[41:07] 시랭 계획 분석 시 주의사항/[42:07] select_type 칼럼의 주의 대상/[42:22] DERIVED/[42:57] UNCACHEABLE SUBQUERY/[43:37] DEPENDENT SUBQUERY/[44:22] Type 칼럼의 주의 대상/[44:30] ALL, INDEX/[45:07] Key 칼럼의 주의 대상/[45:37] Rows 칼럼의 주의 대상/[45:52] 실제보다 큰 값이 표시될 때/[46:30] Rows 칼럼의 수치값/[47:04] Extra 칼럼의 주의 대상/[47:52] 쿼리가 요건을 제대로 반영하고 있는지 확인해야 하는 경우/[48:04] Full scan on NULL key/[48:30] Impossible HAVING/[48:45] Impossible WHERE/[49:00] Impossible WHERE noticed after reading const tables/[49:30] No matching min/max row, No matching row in const table/[49:50] Unique row not found/[51:00] 쿼리의 실행 계획이 좋지 않은 경우/[51:13] Range checked for each record/[51:51] Using filesort/[52:13] Using join buffer/[52:22] Using temporary/[52:36] Using where/[53:59] 쿼리의 실행 계획이 좋은 경우/[54:19] Distinct/[54:35] Using index/[54:50] Using index for group-by

  • 091시간 1분 최적화 part1풀 테이블 스캔/Order by 처리/Group by 처리

    책갈피 : [00:05] 최적화 단위작업 살펴보기/[01:17] 풀테이블스캔 사용법 설명/[01:38] 풀테이블스캔 설정조건/[01:43] 테이블 레코드 수 설명/[02:02] 인덱스조건 설명/[02:11] 조건일치 건 설명/[02:51] MariaDB에서 풀테이블스캔 설명/[03:39] InnoDB,설명/[03:54] Read ahead설명/[05:10] XtraDB 설명/[05:46] Order by 설명(Using Filesort)/[06:35] Index 함수 장단점/[07:19] Filesort 함수 장단점/[08:44] 별도정렬작업처리 확인방법/[09:02] 정렬처리방법확인/[09:17] 소트버퍼 설명/[10:41] 소트버퍼 문제상황 설명/[11:49] Multi-merge설명/[12:42] 소트버퍼 적정용량/[12:54] MariaDB 메모리안내/[14:02] Oom-Killer 설명/[14:25] 정렬 알고리즘 설명/[14:49] Single pass 설명/[15:54] Two pass 설명/[18:03] Two pass 사용예/[18:24] Single pass 사용예/[18:45] 정렬처리방식 설명/[19:08] 인덱스 사용한 정렬 설명/[19:52] 드라이빙 테이블만 정렬 설명/[19:59] 조인결과를 임시테이블에서 정렬 설명/[21:05] 인덱스 사용한 정렬사용예/[23:11] Order by 유.무 예제확인하기/[26:01] 드라이빙테이블만 정렬 사용예/[26:45] where절 조건 확인/[28:16] 드라이빙테이블만 정렬방법/[28:51] 임시테이블을 이용한 정렬 설명/[29:56] 예제확인하기/[30:55] 실행계획확인/[31:21] 정렬방식의 성능비교/[32:44] Streaming방식 설명/[33:04] Streaming 예제확인/[35:33] Streaming 주의할점/[37:49] Buffering방식 설명/[39:17] 인덱스 사용 정렬만 Streaming사용/[41:04] Order by..Limit n 최적화 설명/[42:12] 예제 보기/[43:22] 소트버퍼에 우선순위 큐 만들기/[45:24] 실행계획보기/[45:41] 상태변수 설명/[46:06] 예제 보기/[47:14] Sort_merge_passes 설명/[47:21] Sort_range 설명/[47:33] Sort_scan설명/[47:53] Sort_raws 설명/[48:54] Group by설명/[50:23] 인덱스 스캔이용 Group by 설명/[51:43] Loose 인덱스 스캔이용 Group by설명/[52:08] 예제보기/[54:58] Prefix index설명/[56:05] 예제로 Loose 유.무 따른결과보기/[57:55] 임시테이블을 사용하는 Group by설명/[58:15] 예제살펴보기/[58:58] 실행계획 확인

  • 1056분 최적화 part2Distinct 처리/임시 테이블/인덱스 컨디션 푸시다운/멀티 레인지 리드

    책갈피 : [00:04] Disrinct처리 /[01:12] Select Distinct 설명/[01:40] 예제보기/[02:05] 실행계획 살펴보기/[04:10] 집합 함수와 함께 사용된 Distinct설명/[04:35] 예제보기/[06:18] count함수 추가/[07:27] 3가지 Distinct 비교/[08:19] 임시테이블 설명(Using temporary)/[09:13] Memory 스토리지엔진 설명/[09:18] Aria 스토리지엔진 설명/[09:23] MyISAM 스토리지엔진 설명/[10:38] 임시테이블이 필요한쿼리 설명/[13:17] 임시테이블이 디스크에 생성되는 경우/[15:23] 실행계획 확인/[16:42] 임시테이블을 사용할수있도록 실행확인/[17:09] Created_tmp%tables 조회/[17:29] Created_tmp_tables 설명/[17:56] Created_tmp_disk_tables설명/[18:41] 인덱스를 가지는 내부 임시테이블 설명/[19:37] 예제보기/[22:28] Optimizer_switch 설정변수값확인/[22:43] Intrnal Temporary Table의 주의사항/[23:18]예제보기/[24:06] 실행계획 내부적 작업과정 확인/[26:52] 시스템설정변수 크게사용하지않기/[28:31] 인덱스 컨디션 푸시다운 설명(ICP)/[29:00] Test하기/[29:38] Optimizer_switch 결과보기/[29:56] 실행계획살펴보기/[31:49] Index내용 살펴보기/[36:19] Optimizer_switch조건 return/[36:30] 결과확인/[36:57] 멀티 레인지 리드 설명(mrr)/[37:22] 데이터보며 설명/[40:53] Mrr버퍼를 복사해서 정렬/[41:56] 옵션mrr,mrr_sort_keys 사용/[42:26] RowID 기준정렬방법 확인/[43:54] 예제확인/[47:26] Key 기준 정렬방법 확인/[48:03] 테이블구조확인/[50:58] mrr사용위해 활성화/[51:47] Key-ordered scan 정렬이유 설명/[52:51] Key와 RowID 모두 정렬 설명/[53:13] 예제확인/[54:24] Dept_emp 테이블구조 확인/[56:11] Key-ordered Rowid-ordered scan 확인

  • 1154분 최적화 part3멀티 레인지 리드/인덱스 머지/테이블 조인

    책갈피 : [00:04] Multi range read 최적화와 정렬/[00:39] Order by first_name추가된 예제보기/[01:26] 기존예제에 Order by절 추가 실행계획보기/[01:50] 기존예제에 세가지 수정된 예제보기/[02:29] 세가지예제 비교분석/[05:13] 멀티레인지리드 최적화 주의사항/[05:41] 데이터크기 감안 설명/[06:04] Litmit n 설명/[06:26] 메모리공간 주의 설명/[07:42] 조인 버퍼 주의 설명/[08:59] 상태변수 주의 설명/[09:11] 상태변수 확인방법/[09:29] 커리실행/[10:39] 멀티레인지리드 사용설명/[10:59] 인덱스머지(Index merge)알아보기/[11:02] 인덱스머지(Index merge) 설명/[12:15] Employees에서 조회/[13:10] Ix_fristname 적용/[14:08] First_name과 hire_date 각 count보기/[14:45] 실행계획 보기/[15:37] 엑스트라칼람에 꼭 필요한 알고리즘/[15:53] Using union 사용/[17:17] 병합 설명/[17:28] 조건사이 or연산자와 and연산자 차이점/[18:27] 중복제거 우선순위 Q설명/[20:25] Using sort_union 알고리즘 설명/[21:42] 예제의 실행계획보기/[21:48] Using sort_union 사용설명/[22:00] Using intersect 설명/[22:32] 예제보기/[22:47] 실행계획보기/[23:55] Using sort_intersect 알고리즘 설명/[25:11] 예제보기/[25:57] 디폴트 설정시 주의사항설명/[26:19] 테이블조인 설명/[26:52] 조인의 종류/[27:40] Inner join 설명/[27:56] Outer join 설명/[28:21] 세미조인, 안티조인 설명/[29:03] Inner join 사용예제 보기/[31:08] Outer join 사용예제 보기/[32:37] Inner join과 Outer join 예제보기/[33:51] Full outer join설명/[34:00] 예제보기/[35:56] Full outer join 지원불가안내/[36:15] left outer join사용시 주의사항/[38:21] MariaDB 최적화단계에서 수정/[39:58] 카테시안조인 설명/[40:43] Join 테이블 비교예제/[42:57] Cross join 설명/[43:41] 예제보기/[44:25] Natural Join 설명/[44:34] 예제보기/[45:23] using키워드 사용할수 있는예/[47:11] 조인 알고리즘 살펴보기/[47:52] 블록기본 조인알고리즘 설명/[48:15] Flat방식 설명/[48:23] Incremental 방식 설명/[49:12] Optimier_switch 설정변수 사용방법/[50:49] Join_chche_level 설정변수 사용방법/[52:35] Join_chche_level 0~8 설정에 따른결과 /[53:14] Outer Join 블록알고리즘 설정방법

  • 1255분 최적화 part4테이블 조인/조인 알고리즘/서브 쿼리/세미조인

    책갈피 : [00:12] 조인 버퍼 설정 /[00:46] Join_buffer_size 설명/[01:14] join_cache_space_limit 설명/[01:31] Optimize_join_buffer_size= on설정/[02:15] 단순 네스티드 루프 (NL) 설명/[03:30] Single_sweep multi join 커리설명/[04:06] 실행계획보기/[05:10] 단순네스티드루프와 블록네스티드루프 차이점/[05:59] 예제안에 join에 대한 설명/[07:10] 조인버퍼의 필요성/[07:58] dept_emp ix 인덱스 이용/[08:10] 인덱스통해 dept_emp 접근/[08:23] Employees 테이블에 접근/[08:57] 데이터보기/[09:44] 조인버퍼사용시 달라지는점 확인/[10:46] Join이 완료되면 조인버퍼 자동해지/[10:54] 구체적인 방법 보기/[11:34] Employees 테이블에 해당조건 검색/[11:43] 조인버퍼 레코드 결합해서 반환/[11:56] 쿼리 실행계획 순서 확인/[13:21] MariaDB 5.3버젼 개선점 설명/[13:28] 개선점에 대한 장점/[13:56] 조인버퍼의 incremental 모드 설명/[15:04] 아우터조인 설명 개선점 설명/[15:48] 세미조인 설명 개선점 설명/[15:54] 블록 네스티드 루프 해시 조인 설명/[16:45] 실행계획보기/[16:56] Build phase 설명 /[17:21] Probe phase 설명/[18:24] 실행계획보기/[19:26] 블록 네스티드 루프 해시 개념 설명/[20:24] 블록 인덱스 조인 설명/[20:37] 블록 인덱스 조인은 멀티레인지 이용/[22:16] 드리븐 테이블 읽어 리턴/[22:37] Rowid기준 정렬설명/[23:21] Key 기준 정렬 설명/[24:19] Rowid와 Key 모두정렬 설명/[25:05] 블록인덱스해시조인 설명/[25:28] Build phase 사용/[25:43] Probe phase 사용/[25:57] 조인시의 주의사항/[26:05] 조인실행결과의 정렬순서보기/[26:58] 실행계획보기/[29:57] Inner join과 outer join의 선택시 주의사항/[31:29] 서브쿼리 최적화/[32:10] 세미조인 서브쿼리 최적화/[32:15] 인서브 쿼리보기/[34:10] 세미조인 최적화 적용가능상황/[36:26] Table pullout 최적화 설명/[37:29] Employees를 풀스캔 emp칼럼 얻어오기/[38:36] 실행계획보기/[39:40] Show warnings 명령으로 warnings 확인/[41:43] FirstMatch 최적화/[42:27] 실행계획보기/[44:15] MariaDB 10.0에서 FirstMatch의 장점/[46:00] Correlated Subquery 최적화에 사용가능/[46:09] Group by, 집합함수 Subquery 최적화 사용불가/[46:54] FirestMatch 최적화 사용된경우 설명/[47:43] Semi-join Materialization 최적화 설명/[49:02] 실행계획보기/[50:29] Fromdate 칼럼에 index생성/[51:37] 실행계획보기/[52:16] Materialization-scan/lookup 설명

  • 1353분 최적화 part5 & 스토리지 엔진 part1세미조인 서브쿼리 최적화/LooseScan 최저과/Duplicate Weedout 최적화/세미조인이 아닌 서브쿼리 최적화/서브쿼리 캐시/Aria/XtraDB/InnoDB

    책갈피 : [00:06] LooseScan 최적화/[00:30] Query 보기/[00:39] Dept_no 가져오기/[01:51] 실행계획보기/[02:54] Semi-join Materialization으로 실행/[03:13] LooseScan 사용조건 /[04:43] loossecan off 설정/[04:52] Duplicate Weedout최적화/[06:39] 세미조인이 아닌 서브쿼리 최적화/[07:52] Materialization 최적화 /[09:02] RowId-merge partial matching 알고리즘/[09:24] Table-scan partial matching 알고리즘/[10:07] Optimizer_switch on/off 로 제어/[11:44] In-to-EXISTS 최적화 /[12:01] 예제보기/[13:07] In_to_exists on으로 조정/[13:22] 서브쿼리 캐시/[13:46] 예제 실행계획보기/[16:17] 캐시의 히트율이 낮은경우(HitRatio<02)/[16:31] 캐시의 히트율이 적정수준(0.2<=HitRatio<0.7)/[16:56] 캐시의 히트율이 높은경우(HitRatio>=0.7)/[17:24] 스토리지 엔진 설명/[18:34] Aria 스토리지 엔진/[18:41] MyISAM 장.단점/[20:30] 트랜잭션 옵션 설명/[22:19] 페이지캐시 설정/[24:24] 시스템 설정 변수/[24:38] Aria_pagecache_buffer_size/[24:48] Aria_sort_buffer_size/[25:40] Aria_group_commit,aria_group_commit_interval/[26:25] Aria_block_size/[26:52] Aria_used_for_temp_tables/[27:37] XtraDB 스토리지 엔진/[29:29] InnoDB와 XtraDB 스토리지 엔진교체/[31:03] InnoDB와 XtraDB 스토리지 엔진교체방법확인/[32:27] My.ini 초기파일 확인/[33:18] Ignore_builtin_innodb=on설정/[33:23] Plugin-load=ha_innodb.dll 설정/[33:35] MaraiaDB로 변경부분확인/[34:43] InnoDB에서 스토리지엔진교체방법/[34:46] My.ini초기파일 확인/[34:50] Ignore_builtin_innodb=on 주석풀기/[34:53] Plugin-load=ha_xtradb.so 주석풀기/[35:33] InnoDB 스토리지 엔진/[36:20] MySQL 5.6 InnoDB 새로추가된 기능/[37:09] 영구적 통계정보/[39:04] 데이터 읽기 최적화/[39:59] Kernel mutex/[42:24] Multi threaded purge/[42:52] Query보기/[45:24] MVCC,롤백->Undo영역/[45:45] 메인스레드/[46:13] Innodb_purge_threads/[47:28] 독립된 플러시 스레드/[49:51] 가변페이지사이즈 /[52:27] Mysqldump,SELECT INTO..OUTFILE

  • 1452분 스토리지 엔진 part2InnoDB 스토리지 엔진/더티 페이지 플러시/InnoDB 버퍼 풀과 리두 로그의 관계

    책갈피 : [00:02] 테이블 스페이스 복사/[01:10] *ibd만 가져오고나 복구가능/[01:18] 테스트용만들기/[01:41] Flush tables tb_trans2 for export/[02:41] Unlock tables 명령/[03:12] DISCARDTABLESSOACE 명령/[04:05] IMPORT TABLESPACE 명령/[04:17] Select로 tb_trans1 확인/[04:58] 독립된 언두 스페이스/[06:07] Innodb_undo_directory 설명/[06:37] Innodb_undo_tablespaces설명/[07:35] Innodb_undo_logs 설명/[09:02] 읽기전용 트랜잭션 최적화/[11:52] 버퍼 풀 덤프 & 로드/[14:05] Innodb_auto_lru_dump 사용/[14:29] Xtradb_admin_command 사용/[18:12] Innodb_buffer_pool_pages_date/[19:24] Innodb_blocking_buffer_pool_testorm/[19:56] MySQL 5.6 덤프하는 방법/[21:10] Innodb_buffer_pool_damp_new/[21:54] Innodb_buffer_pool_load_new/[22:26] Innodb_buffer_pool_dump_at_shutdown/[22:48] Innodb_buffer_pool_load_at_startup/[23:15] 명령 사용 결과보기/[24:29] Innodb_buffer_pool_load_abort/[24:40]리드로그사이즈(Write Ahea Log)/[25:21] Innodb_log_file_size/[25:42] Innodb_log_files_in_gorup/[26:09] Innddb_group_home_dir/[28:28] 리두 로그 크기변경/[29:14] MaraiDB 5.5에서 리두로그 크기변경방법/[31:54] 데드락 이력/[33:01] Innodb_print_all_deadlocks/[33:26] 더티페이지 플러시/[34:07] LRU_list 설명/[34:14] Flush_list 설명/[34:38] InnoDB 버퍼 풀과 리두로그의 관계/[36:52] Write ahead log/[37:22] Flush_list/[38:11] LRU리스트/[40:04] Innodb_old_blocks_pct 변수변경/[41:49] InnoDB와 xtraDB의 더티플러시/[42:05] Checkpoint age 중요/[42:42] 그림으로 설명/[44:17] 모드에따른 상태 설명/[47:38] MySQL 5.5 InnoDb의 더티 플러시/[47:57] Adaptibe flushing/[50:11] Innodb_io_capacity/[50:43] Innodb_max_dirty_pages_pct

  • 151시간 1분 스토리지 엔진 part3더티 페이지 플러시/페이지 클리너/어탭티브 플러시/버퍼 풀 성능 개선/원자 단위의 쓰기/확장된 InnoDB 엔진 상태 출력

    책갈피 : [00:11] MariaDB5.5 XtraDB의 더티플러시/[01:01] Innodb_adaptib_flushing_method설정/[01:33] Native /[01:52] Estimate /[02:53] Keep_averag /[03:37] Innodb_flush_neighbor_pages설정/[04:16] Area /[04:37] Const/[04:49] None/[05:21] Innodb_checkpoint_age_target설정/[06:20] Innodb_flush_method설정/[06:28] Direct Io/[06:45] Fdatasync/[07:18] O_DSYNC/[07:42] O_DIRECT/[10:53] MySQL 5.6 InnoDB의 더티플러시/[11:04] 마스터스레드/[11:39] Page cleaner 스레드/[11:51] Access Pattern : LRU_list/[12:17] Checkpoint Age : Flush_list/[14:28] Innodb_lru_scan_depth/[15:39] 플러시할 더티페이지수를 구하는 공식/[16:33] Innodb_io_capacity/[18:00] Innodb_io_capacity_max/[19:40] 어탭티브 플러시 알고리즘/[20:28] Innodb_adaptive_flushing_lwm/[20:59] Innodb_max_dirty_pages_pct_lwm/[21:50] Innodb_flushing_avg_loops/[24:39] MariaDB 10.0 XtraDB의 더티플러시/[24:45] MySQL5.6 플러시할 더티페이지 수 공식/[26:21] MariaDB10.0 플러시할 더디페이지 수 공식/[27:04] 버퍼 풀 성능 개선/[27:43] Non Uniform Memory access(NUMA)/[28:08] UMA아키텍처 & NUMA아키텍처 비교/[30:55] Numactl /[31:05] Numa_interleave/[31:20] 버퍼 풀 메모리 초기할당/[32:11] 응용 프로그램에서 접근시 할당/[33:30] Innodb_buffer_pool_populate/[34:34] InnoDB 잠금 세분화/[34:45] Kernel_mutex/[35:36] 분리된 mutex/[37:07] I/O 기반의 워크로드 성능 향상/[37:31] 프리페이지 준비보다 더 빠르게 소진되는 경우/[37:49] Free_list가 모두 소진/[38:01] Free_list의 동기화를 위한 뮤텍스 대기가 증가/[38:26] 프리페이지를 준비해도 뮤텍스 대기할 경우/[39:30] Innodb_empty_free_list_algorithm/[39:55] 어댑티브 해시 파티션/[40:47] Innodb_adaptive_hesh_index_partitions/[41:50] 원자 단위의 쓰기/[41:54] 리두 로그/[42:19] 파샬페이지(Torn_page)/[45:07] Innodb_use_atomic_write/[45:51] 확장된 InnoDB엔진 상태 출력/[46:15] Innodb_show_verbose_locks/[46:27] Innodb_show_locks_held/[47:21] 설정결과보기/[49:01] 상태변수들의 그룹/[49:18] 백그라운드 스레드 관련 상태변수/[50:58] 세마포어 관련 상태변수/[54:13] 인서트 버퍼와 어탭티브 해시 인덱스 관련 상태변수/[56:15] 로그관련 상태변수/[57:28] 버퍼 풀 관련 상태변수/[59:22] 트랜잭션 관련 상태변수

  • 1655분 스토리지 엔진 part4XtraDB 리두로그 아카이빙/변경된 페이지 트랙킹/전문 검색 인덱스 추가/전문 검색 인덱스를 위한 테이블 스페이스/Memcached 플러그인/카산드라 스토리지 엔진/CONNECT 스토리지 엔진

    책갈피 : [00:03] XtraDB 리두로그 아카이빙/[00:14] 리두로그/[00:49] 로그파일 ib_log_archive_(시작_lsn)/[01:12] log파일 생성/[01:31] Purge archived logs before 삭제 명령/[01:55] Purge archibed logs to 삭제 명령/[03:03] Innodb_log_archive 시스템변수/[03:15] Innodb_log_arch_dir 시스템변수/[03:35] Innodb_log_arch_expire_sec 시스템변수/[04:12] Incremental Backup(증분백업)/[04:51] 변경된 페이지 트랙킹/[04:57] 리두로그 엔트리 기반/[05:06] 특수 비트맵파일로 기록/[05:36] Innodb_track_changed_pages 시스템변수/[05:47] Ib_modified_log__.xdb/[06:20] 명령설명/[07:08] Flush changed_page_bitmaps 명령/[07:34] Reset changed_page_bitmaps 명령/[07:45] Purge changed_page_bitmaps before 명령/[08:01] Show engine innodb status:log/[08:44] Innodb_changed_pages/[09:03] 전문검색엔진/[09:48] 전문 검색 인덱스 추가/[09:55] 쿼리보기/[10:36] Add fulltext 로 전문 인덱스 생성/[12:08] 전문검색 인덱스를 위한 테이블 스페이스/[12:20] Ibd 파일 생성확인/[12:41] Fts_xxx-yyy-doc_id.ibd/[13:10] Fts_xxx_config.ibd/[13:44] Fts_xxx_stopword.ibd/[14:20] Fts_added.ibd,ftx_xxx_deleted.ibd/[15:41] Fts_being_added.ibd,fts_xxx_being_deleted.ibd/[16:33] Fts_xxx_added_chche.ibd, fts_xxx_deleted_chche.ibd/[18:02] _DOC_id.ibd 전문인덱스별로 존재/[18:41] 전문검색 인덱스관련 Information_schema정보/[19:34] 테이블이 가지는 내용의 범위기준 /[19:42] InnoDB의 모든전문검색 인덱스에 적용/[20:05] Innodb_ft_cofig, innodb_ft_default_stopword/[20:14] 전문검색 인덱스를 가진 테이블 단위로 적용/[20:19] Innodb_ft_aux_table/[20:38] 쿼리에 set명령보기/[21:02] Innodb_ft_index_table/[21:31] Innodb_ft_index_cache/[22:17] Innodb_ft_inserted, innodb_ft_deleted/[22:33] Innodb_ft_being_inserted, innodb_ft_being_delelted/[22:40] 전문검색인덱스사용/[22:51] 전문검색쿼리문법사용/[23:46] 전문검색엔진사용시 주의사항/[24:21] Innodb_ft_default_stopword /[25:24] Create table stopword_foe_emp 테이블생성/[25:41] 데이터확인/[26:44] Innodb_ft_user_stopword_table 생성가능/[27:12] 단위검색어의 최소길이/[28:12] Innodb_ft_result_cache_limit/[29:03] Innodb_ft_total_cache_size/[29:31] Memcached 플러그인/[30:18] MariaDB5.5 에서 HandlerSocker 제공/[30:23] My SQL5.6 에서 Memcached API 제공/[30:38] Memcached 플러그인/[31:57] Memcached 플러그인 제공기능 특성/[32:17] Innodb 스토리지 엔진 접근성/[32:24] 쿼리분석,최적,해들러 API우회/[32:35] 텍스트,바이너리기반프로토콜 지원/[32:45] Memcached의 value 매핑/[32:58] 메모리조합/[33:06] Daemon_memcached_option 시스템변수/[33:14] Innodb_api_trx_level 시스템변수/[33:30] 카산드라 스토리지 엔진/[34:34] 카산드라 클러스터/[35:38] 가십통신/[36:39] 쓰리프트통신 설명, 단점/[36:57] 네이티브통신/[37:33] 다차원key value/[38:15] 로우키(col_name,value..)/[39:07] 로우키 개념/[39:45] CQL(Cassandra Quert Lan)/[40:08] 컬럼 패밀리/[40:40] 키 스페이스/[41:09] CQL제약사항/[41:43] MariaDB에 카산드라 스토리지엔진 /[42:24] 카산드라스토리엔진 활성화/[43:00] 카산드라 스스토리엔진 시작시 자동 등록/[43:21] Create keyspace mariadtest 설정/[44:14] Columnfamily cf1만들기/[46:02] Select하기/[46:15] Cassandra-cli 클라이언트에 결과보기/[46:54] Conneect 스토리지엔진/[47:51] Conneect 스토리지엔진 설치/[49:37] Oracle에 emp 파일이 존재할때/[50:47] CONNECT BY이용/[51:35] Engin_condition_pushdown ON설정/[52:17] 오라클 RDBMS 테이블 연결/[52:23] My.ino 설정파일 연결/[52:54] Create table문 보기/[54:17] 운영체제의 디렉터리 연결

  • 1758분 스토리지 엔진 part5 & 기타 기능 part1시퀀스 스토리지 엔진/Mroonga 전문 검색 스토리지 엔진/성능 향상/스레드 풀/관리 및 진단

    책갈피 : [00:04] 시퀀스 스토리지엔진/[00:29] Show engines명령으로 설치 확인/[00:40] 미설치시 설치 명령어/[01:43] 시퀀스 스토리지엔진에 다른점/[01:55] 예제보기/[02:42] 각쿼리의 결과값/[03:44] Convert 함수 사용/[04:02] 시퀀스 스토리지 엔진 활용 사례/[04:28] 누락된 번호찾기/[04:49] Seq_test 테이블 생성/[05:05] 시퀀스스토리지엔진 이용/[05:10] 누락번호찾기 결과 확인/[06:09] 순차적으로 조합된 번호 쌍 생성/[06:14] 예제결과 확인/[06:35] 배수 또는 공배수찾기/[06:46] 예제결과 확인/[07:18] 순차적인 알파벳생성/[07:26] 예제결과 확인/[08:15] 순차적인 날짜 생성/[08:26] 예제결과확인/[08:58] 데이터복제가공/[09:50] 예제결과 확인/[11:23] Mroonga 전문 검색 스토리지 엔진/[12:28] Mroonga 아키텍쳐 /[13:26] 스토리지엔진모드 실행모드/[13:47] 래퍼(wrapper)모드 실행모드/[14:24] 인덱스알고리즘/[14:59] 구분자(stopword)방식/[16:44] N-gram방식/[17:35] Front-end 인텍스, back-end 인덱스/[18:47] 구분자방식으로 검색했을때 결과/[19:00] N-gram방식으로 검색했을때 결과/[19:35] Mroonga 설치방법/[19:51] 설치버전확인/[20:20] Storage mode에서 full text search방법/[21:04] Full text search 결과 확인/[21:40] Fulltex index에 comment 설정 가능/[22:18] Tokenmecab의 옵션 /[22:54] TokenBigram/[23:24] Tokenmecab/[23:46] Tokenbigramsplitsymbol/[24:40] 기타기능/[24:59] 성능향상/[25:07] 스레드풀(Therad pool)/[25:15] Mysql서버의 전통적 연결 및 처리방식/[26:56] MaraiDB의 스레드 풀/[27:18] 스레드 개수는 동적으로 관리/[27:32] 스레드 풀 자체의 관리비용이 낮음/[27:37] 운영체제의 능력을 최대한 활용/[27:55] 스레드 최대 개수 제한/[28:19] 윈도우 mariaDB 스레드풀/[28:20] 유닉스 mariaDB 스레드풀/[28:36] MariaDB 스레드풀의 구조/[30:05] CPU 바운드작업 효율적/[30:19] 디스크 바운드 작업 병목현상발생/[31:29] MariaDB 스레드 풀의 사용과 튜닝/[32:21] 스레드풀과 관련된 시스템설정변수/[32:30] 윈도우 시스템 설정변수/[33:41] 유닉스 시스템 설정변수/[37:27] Extra_port, 시스템 설정변수/[38:05] Extra_max_connections 시스템 설정변수/[38:51] Threadpool_threads/[38:58] Threadpool_idle_threads/[39:32] 관리 및 진단/[40:24] Show explain for(thread-id)/[40:52] Prodcesslist확인/[41:54] 쿼리결과확인/[42:51] 슬로우 쿼리 로그에 실행계획출력/[43:16] Log_slow_verbosity 시스템변수/[43:33] Microtime 옵션/[43:42] Query_plan 옵션/[44:03] Full 옵션/[44:19] Explain 옵션/[44:43] 슬로우 쿼리 예제/[45:13] 슬로우쿼리 결과 확인/[45:30] 구조화된 실행계획 출력/[45:42] Json형태의 포맷으로 출력/[46:18] 쿼리예제/[47:09] 스레드 단위의 메모리 사용량/[47:14] 예제확인/[47:40] Show status; 실행/[49:22] Shutdown 명령/[50:08] Shutdown 명령실행/[50:13] 사용자나 쿼리 실행 강제종료(Kill)/[51:12] 특정커넥션에서 실행중인 query만 종료/[52:08] Information_schema.processlist/[52:22] Kill query와 kill query id의 차이점/[53:28] 특정유저의 커텍션이나 쿼리 강제종료/[54:25] 강제종료의 수준조정/[55:27] Soft옵션/[55:48] Get diagnostics/[56:23] 프로시져에서 Get diagnostics 사용 예제/[57:12] 출력결과 확인

  • 1853분 기타 기능 part2개발 생산성/정규 표현식 기능 확장/가상 칼럼/동적 칼럼/명시적 파티션 지정/파티션 테이블 스페이스 교체/바이너리 로그 원격 백업

    책갈피 : [00:06] 개발 생산성/[00:25] Limit rows examined/[01:12] 예제보기/[02:03] 출력결과 확인/[02:39] Show warnings 명령/[03:01] Limit rows examined이용한 다른 예제/[03:33] 첫번째 쿼리 확인/[03:43] 두번째 쿼리 확인/[04:22] 출력결과 확인/[04:48] 기본조건에 from date조건 추가된 예제/[05:48] Delete..returning/[06:34] 예제보기/[06:54] 출력결과 확인/[07:11] Select로 결과 확인/[07:26] 마이크로 초 단위의 시간저장/[07:43] 예제보기/[07:52] Datetime에 정밀도 지정/[08:06] 출력결과 확인/[08:59] Unix_timestamp 함수/[09:33] Date_sub함수/[10:23] Datetime타입의 기본값 설정/[11:29] 예제보기/[12:21] 정규 표현식 기능 확장/[13:20] Regexp_replace(문자열, 정규표현식,대체문자열)/[14:02] 정규표현식의 예제/[14:13] 출력결과 확인/[14:34] 대소문자 구분/[15:16] Regexp_instr(문자열, 정규표현식)/[15:38] 출력결과 확인/[16:31] Regexp_substr(문자열, 정규표현식)/[16:51] 출력결과 확인/[17:03] 가상(Virtual)칼럼/[17:25] 예제보기/[17:50] Birth_month 칼럼 virtual로 가상칼럼/[18:48] 출력결과 확인/[19:07] 가상(Virtual)칼럼 제약사항/[20:10] Virtual에서 지원하는 스토리지엔진/[20:49] Persistent/[21:21] 가상(Virtual)칼럼사용시 주의사항/[21:34] 출력결과 확인/[21:50] 동적(dynamic)칼럼/[22:31] 출력결과 확인/[24:46] 동적칼럼 유틸리티함수/[24:53] Column_create /[25:30] Column_add/[26:19] Column_get/[27:12] Column_delete/[27:46] Column_exists/[28:25] Column_list/[29:04] Column_check/[29:43] Column_json/[30:45] Maria의 동적칼럼 제약사항/[31:10] 파티션/[31:41] 명시적 파티션 지정/[32:25] 파티션사용 예제보기/[33:10] Select문 보기/[33:53] Insert문 보기/[35:14] 출력결과 확인/[36:18] 파티션 테이블 스페이스 교체/[36:56] 파티션 테이블과 스와핑할 테이블의 구조/[37:10] 스와핑될 테이블은 임시테이블이 아니여야함/[37:15] 스와핑될 파티션의 기준칼럼 조건만족/[37:25] 다른테이블과의 참조관계가 아니어야함/[37:34] Alter,insert,create,drop권한/[39:31] 출력결과 확인/[43:01] 백업/[43:34] Mysqldump /[45:34] 바이너리 로그 원격 백업/[46:11] Mysqlbinlog/[46:54] 레플리케이션 API/[47:54] Mysqlbinlog 필요로하는 옵션/[48:30] Read-from-remote-server 옵션/[48:48] Raw 옵션/[49:13] Stop-never 옵션/[49:57] Stop-naver-slave-server-id=id 옵션/[50:13] Result-file 옵션/[51:15] To-last-log 옵션

  • 192시간 14분 기타 기능 part3XtraBackop 원리/XtraBackop 기능/스트리밍 백업/압축/암호화/슬레이브 백업/병렬 백업/백업 속도 조절/개별 테이블 복구/PIT 복구/증분 백업/부분 백업/컴팩트 백업/스트리밍 백업/암호화 백업

    책갈피 : [00:03] XtraBackup /[00:43] XtraBackup 패키지구성/[01:06] Innobackupex/[01:57] XtraBackup/[02:28] XtraBackup 옵션/[03:05] Xbstream/[03:46] Xbcrypt/[04:23] XtraBackup 원리/[05:12] 데이터변경이 없을 경우/[05:31] 데이터변경이 있을 경우/[06:22] Backup이 완료된 시점/[08:06] Apply-log/[08:58] Flush tables with read lock/[09:29] XtraBackup 도구사용법/[10:01] Backup 실행할때 innobackupex 이용/[10:26] -- backup/[10:28] Defaults-file/[11:29] backup명령이 실행될때/[11:37] Xtrabackup InnoDB가 backup /[12:33] Xtrbackup 버전이 달라져야함/[13:06] 리눅스는 uses posix_fadvise()/[14:00] InnoDB table 데이터파일 /[14:07] InnoDB 리두로그 추적/[14:30] Backup이 완료되면 나머지 테이블 복사/[14:52] Completed ok!/[15:04] 백업 디렉토리/[15:16] Xtrabackup_checkpoints/[16:00] Xtrabackup_binlog_info/[16:12] Xtrabackup_slace_info/[16:32] --slave-info/[16:53] backup-my.cnf/[17:24] Xtrabackup_binary /[17:54] 로그적용(--apply_log) 과정/[19:00] --apply-log옵션으로 Innobackupex 백업/[19:12] --apply-log 실행결과화면/[19:56] 리두로그와 데이터디렉토리 출력/[20:06] Starting Innodb instance for recovery/[20:29] InnoDB: 메세지/[21:11] 리두로그 적용과정 완료/[21:18] Shutdown completed 출력 종료/[21:39] 복구(--copy-back)과정/[22:23] --copy-back로 innobackupex 복구/[23:12] --copy-back 작업 실행/[23:20] 설정파일,데이터파일,리두로그파일 복사/[23:41] 복사된내용/[24:40] 데이터파일과 리두로그파일 권한변경/[25:28] Xtrabackup기능/[25:44] 스트리밍백업/[27:11] 변형된 tar, xvstream 포맷/[27:59] Xbstream/[28:37] -x,-c, -C 옵션/[29:56] nc, rsync 유틸리티 이용/[30:08] 압축(quicklz qpress)/[30:32] 암호화(xbcrypt)/[31:12] Aes128, aes192, aes256 유틸리티/[31:37] Xbacrypt 옵션/[33:29] 슬레이브 백업(--slave-info)/[34:34] Xtrabackup_slave_info/[35:25] 병렬(parallel) 백업/[35:34] parallel 옵션/[36:16] --compress-threads 옵션/[36:46] 백업속도조절/[37:40] --throttle=n 옵션/[39:00] 개별 테이블 복구/[39:51] Alter tavle 명령/[39:52] Discare tablespace / inport tavlespace/[40:26] Flush tables with read lock 개선/[40:33] 슬레이브 MariaDB/[40:41] 마스터 MySQL서버의 바이너리 로그위치/[42:28] 대기 & 강제종료 옵션/[42:46] --lock-wait-timeout/[43:31] --lock-wait-query-type=all/update/[44:33] --kill-long-queries-timeout/[45:04] --kill0long-query-type=all/select/[45:44] Xtrabackup를 옵션이용한 예제 /[46:31] Xtrabackup 고급사용/[46:44] PIT(point in time)복구/[47:49] PIT(point in time)복구 사용방법/[49:20] 결과가능하게하는 명령어/[49:34] --apply-log 옵션/[49:42] --copy-back 옵션/[49:50] mysql서버 재시작/[51:40] Stop-position, Start-position/[52:46] 증분(Increamental) 백업/[53:40] InnoDB/XtraDB의 로그시퀀스 번호(LSN)/[53:50] 상황예제/[56:23] Incremental-basedir 옵션/[57:18] 풀백업과 증분백업 복구방법/[57:50] --redo-only 옵션/[01:00:19] apply-log가 끝나면 copy-back /[01:00:39] 부분(Partial) 백업/[01:01:05] --include 옵션/[01:01:14] --tables-file 옵션/[01:01:26] --database 옵션/[01:01:40] 정규표현식/[01:02:15] 백업 대상 테이블을 파일로 명시/[01:02:43] 데이터베이스 단위 백업/[01:03:26] 부분백업 복구/[01:03:51] .exp .ibd .cfg 파일생성/[01:04:51] 컴팩트(compact) 백업/[01:06:09] --compact/[01:07:04] compact=1/[01:07:26] 스트리밍(streaming)백업/[01:08:05] streaming 백업 예제/[01:09:14] ssh통해 rmote_host로 전송/[01:11:10] 아카이빙 해제된 파일위치/[01:11:30] 암호화(Encrypt) 백업/[01:11:46] 복호화/[01:12:17] 암호화 알고리즘/[01:12:26] 암호화 백업 사용시 필요한것/[01:13:56] openssl이용 암호화 키 발생/[01:14:18] 생성된 암호화키를 이용 백업실행/[01:15:33] .xcrypt 확장자로 생성/[01:15:45] 암호화된 데이터파일들을 복호화/[01:16:03] --parallel 옵션/[01:17:00] 레플리케이션/[01:17:16] Global transaction ID/[01:18:03] 바이너리 로그 파일명, 위치(offset)/[01:18:37] 노드아이디/[01:18:49] 트랜잭션 아이디/[01:19:31] Gtid가 기존 binary-log이벤트와 사용됐을경우/[01:19:49] 마스터 MariaDB/[01:20:18] 슬레이브 MariaDB/[01:21:11] 복제 토플러즈/[01:23:09] 사용자트레픽이 B(Slave) 로 유입/[01:23:42] B서버 과부화/[01:24:13] Global transaction ID 사용/[01:24:34] Change master to master_host='b'/[01:26:05] MariaDB 10.0 GTID/[01:26:51] 도메인아이디/[01:27:15] 서버아이디(server_id)/[01:27:29] 트랜잭션 아이디/[01:29:31] Change master명령어/[01:30:00] GTID를 이용한 복제구축/[01:30:05] 바이너리 로그파일과 위치기반의 복제를 GTID로 변경/[01:31:00] 새로운 슬레이브를 GTID 사용하도록 구축/[01:31:15] 기존 MariaDB서버의 데이터백업/[01:31:17] 새 슬레이브 MariaDB서버에 백업된 데이터복구/[01:31:25] 백업된 시점의 바이너리 로그 파일명과 위치확인/[01:31:35] 마스터의 GTID확인/[01:31:46] 새 슬레이브 값을 위에서 확인된GTID값으로 변경/[01:31:51] 새 슬레이브에서 Change master 명령실행/[01:32:25] Binlog_gtid_pos()/[01:33:05] 백업시점 GTID를 gtid_slave_pos로 지정/[01:33:32] GTID 사용 복제연결할때/[01:34:09] 바이너리 이름 위치지정 방법/[01:34:50] master_use_gtid=current_pos;/[01:35:05] master_use_gtid=slave_pos;/[01:35:13] Show slave status/[01:36:58] GTID_slave_pos/[01:37:18] GTID_slave_pos의 예제/[01:38:15] GTID_current_pos/[01:39:38] Show slave status : Using_GTID:/[01:40:12] GTID를 사용한 복제관리/[01:40:31] 바이너리 로그 파일명과 위치로 GTID찾기/[01:41:31] GTID까지 대기/[01:41:43] Master_pos_wait()/[01:42:13] Master_GTID_wait("0-1-11'10)/[01:43:12] 초기복제연결/[01:43:36] changer master명령어/[01:43:52] Master_use_gtid=slave_pos/[01:44:00] 복제 멈춤 및 복제 관련 설정제거/[01:44:18] Stop slave; / reset slave all;;/[01:44:29] BinaryLog 파일과 위치기반의 복제를 GTID기반으로 변경/[01:44:59] Master_use_gtid=current_pos;/[01:46:05] 마스터 MariaDB 변경/[01:47:24] 특정위치까지 실행 후 복제 멈춤/[01:47:48] Start slave until master_log_file/[01:48:13] GTID를 이용한 슬레이브에서 트랜잭션 건너뛰기/[01:48:29] Set global gtid_slave_pos/[01:49:08] MySQL 5.6 GTID/[01:49:23] 서버 UUID/[01:49:31] 트랜잭션 번호/[01:50:34] 바이너리 로그 활성화(log-bin 시스템변수)/[01:50:41] 서버 아이디 설정/[01:50:47] 슬레이브가 복제통해 실행한 데이터 바이너리로그에기록/[01:50:52] GTID 컨시스턴트 모드 활성화/[01:51:01] GTID 사용 활성화/[01:51:42] GTID 컨시스턴트 모드활성화시 제약사항/[01:51:51] GTID를 이용한 복제구축/[01:52:54] 바이너리로그파일과 위치기반의 복제를 GTID기반 복제로변경/[01:53:21] Change master 명령 실행/[01:53:31] GTID 사용하도록 새로운 슬레이브구축방법/[01:54:17] 기존 Mysql서버의 데이터백업/[01:54:27] Mysqldump,xrtabackup 사용방법/[01:55:11] Gtid_executed, gtid_purged/[01:56:42] GTID이벤트 건너뛰기/[01:56:51] 서버 UUID;트랜잭션 번호/[01:57:30] 멀티 소스 복제(multi-soured replication)/[01:58:15] 멀티 스레드 복제/[02:01:29] 크래시 세이프(crash sae) 슬레이브/[02:01:44] IO스레드, SQL스레드/[02:03:30] Duplicate key 에러/[02:05:35] Row기반의 복제 기능 개선/[02:05:43] Statement포맷/[02:05:53] Row 포맷/[02:06:22] Row 포맷의 용량 최적화/[02:06:52] Row포맷 바이너리 로그를 위한 정보선 로그이벤트/[02:07:13] Annotate_rows/[02:07:54] 지연된 복제/[02:08:11] Change master to... master_delay=n;/[02:08:48] MaraiDB 와 Mysql서버간의 복제/[02:10:11] 그 외의 기타 기능 개선/[02:10:39] 바이너리 로그 체크섬/[02:10:47] 바이너리 로그 체크섬 시스템변수/[02:11:12] 바이너리 로그 API/[02:11:46] Hbase, Cassandra/[02:12:13] 바이너리 로그 그룹 커밋

  • 2047분 레플리케이션레플리케이션/GTID를 사용한 복제 관리/멀티 소스 복제/멀티 스레드 복제/크래시 세이프 슬레이브/ROW 기반의 복제 기능 개선/지연된 복제/서버간의 복제

    책갈피 : [00:12] 리눅스에서 MariaDB 사용방법/[00:21] MariaDB 설치/[00:27] OS설정/[00:37] Passwd 설정/[00:42] 사용자계정 완료/[00:59] 리눅스에서 루트설정/[01:28] Login파일 열기/[01:36] Session required pam_limits.so 추가/[01:42] Etc/profile설정/[02:14] 리눅스 버젼확인(uname -a)/[02:34] Getcof -a 명령으로 libc버젼확인/[03:12] Mariadb-5.5.34파일 다운로드/[03:33] 리눅스버젼에 맞는지 확인후 다운로드/[03:59] Usr/local로 이동/[04:05] 다운로드파일 압축풀기/[05:03] MariaDB에 해당되는 mysql로 심볼릭링크만들기/[05:27] Vi/etc/my.cnf/[05:45] Client 설정/[05:48] Mysqld에 각용량에대한 설정/[06:02] 기본적인 데이터의 디렉토리/[06:28] 디렉토리 생성/[06:28] 오너변경/[07:08] 기본 스키마 지정/[07:56] Scripts 실행/[08:31] Boot시에mysql실행시키도록 명령/[09:18] DB구동할때 에러발생시/[09:51] Boot시 mysql실행시키도록 복사명령/[10:10] DB구동/[10:21] Failed발생시 에러파일 확인/[10:58] Buffer pool size에서 에러발생/[11:23] Innodb specific options에서 size변경/[12:13] MariaDB를 여러번 설치시 ibadta1파일이남아있는 에러/[13:33] Mysqld start 명령/[13:52] MariaDB접속시 에러확인/[14:58] 심볼릭링크 만들기/[15:21] MariaDB접속/[15:33] Show datebases;/[15:45] Use test;/[16:03] MariaDB사용시 주의사항/[16:36] 간단한 버그보기/[17:25] Max_heap_table_size, tmp_table_size/[18:42] Primary key/[19:12] 각 파티션의 데이터보기/[19:46] Show명령으로 tmp size 확인/[21:10] 변수의값 증가시키는 Set명령어/[21:49] 통계쿼리실행/[22:28] 인덱스사용시 잘못된결과 출력버그/[22:54] 테스트데이터 생성/[24:11] Insert ignore into test/[24:32] From test/[25:30] Use index(primary)/[26:21] Explain 실행계획보기/[28:29] Handlersocket/[28:46] SQL/[29:08] Parser, optimizer/[30:28] Key, value/[30:57] Handler API/[31:17] Myisam, innodb에서 동작/[32:18] Handlersocket 개발자 블로그/[32:40] Handlersocket 사용할 수 있게 설정/[33:35] Port=9998, port_wr=9999/[34:17] Install plugin/[34:38] 설치후 DB재시작/[34:46] Show processlist/[35:40] Netstat로 통해 정상적으로 실행되었는지 확인/[36:01] Hs4j로 데이터처리하는 예제/[36:27] New a client/[36:38] Open index/[36:49] Find data/[37:02] Inset data/[37:12] Update data/[37:23] Delete data/[37:30] Handlersocket 성능 결과/[38:17] Handlersocket 장점/[39:16] Memcached plugin/[39:51] Mysql 5.6 memcached plugin/[40:12] InnoDB API를 직접 호출/[40:29] 기존 Memcached로 애플리케이션 소수수정 거의 없음/[40:47] 별도의 데몬으로 동작하지 않음/[41:06] Memcached plugin 설치/[41:49] 스키마생성/[41:55] Cache_policies/[42:10] Cache_policies 설정값/[42:53] Containers/[43:00] Containers 주요필드/[44:00] Config_options/[44:08] 테이블 생성 후 Memcached 설치/[44:32] Handlersocket과 Memcached plugin 기능비교/[45:05] DAta Access방법/[45:49] Client/[46:34] Handlersocket과 Memcached plugin 장.단점 확인






본 강의 수강생들의 추가구매가 가장 많은 학과.