1. 특정 Database 및 Table의 Index 확인 쿼리 SELECT A.TABLE_SCHEMA "DB", A.TABLE_NAME "테이블ID", A.TABLE_COMMENT "테이블명", B.INDEX_NAME "인덱스명", B.COLUMN_NAME "컬럼ID", C.DATA_TYPE "데이터타입", CASE WHEN C.NUMERIC_SCALE IS NULL OR C.NUMERIC_SCALE = '0' THEN CASE WHEN C.NUMERIC_PRECISION IS NOT NULL THEN C.NUMERIC_PRECISION ELSE C.CHARACTER_MAXIMUM_LENGTH END ELSE CONCAT(C.NUMERIC_PRECISION, ',', C.NUMERIC_SCALE) EN..
1. yum 설치 -. yum -y install sysstat (리눅스 성능 측정 도구 패키지) 2. 과도한 CPU 사용 MYSQL THREAD 확인 및 kill 1) mysql process 검색 ps -ef | grep mysqld mysql 20645 19411 65 Feb21 ? 9-17:34:52 /usr/local/mysql/bin/mysqld 2) Thread 검색 pidstat -t -p 1708 2 -> 실시간 갱신 pidstat -t -p 1708 $ pidstat -t -p 20645 11:05:57 AM UID TGID TID %usr %system %guest %CPU CPU Command 11:05:57 AM 1003 20645 - 51.34 13.67 0.00 65.01 5 ..
MySQL의 FEDERATED Engine을 사용한 방법인데, 타 DB에서 사용하는 DBLINK의 개념보다는 Table Mirroring에 가깝다. 1. FEDERATED 설정 1) show engines; mysql> show engines; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+--------------------------------..
MySQL Replication ① master에서 client가 query를 실행하면 ② 데이터가 변경되는 insert, upda te, delete의 경우 binary log라는 파일에 기록이 되고 ③ mysql에서 query가 실행된다. ④ slave에서는 binary log를 감시하다가, 새로운 query가 들어오게 되면 해당 정보를 slave의 relay log로 가져오기 위해, master에게 새로운 query를 요청한다. ⑤ master는 slave의 요청을 받아 binary log에 적힌 쿼리를 slave로 전달하면서 전달 되었다는 것을 보장받기 위해 응답을 기다린다. ⑥ slave는 master로부터 새로운 query를 잘 받았다는 응답(ACK)을 보내고 ⑦ master는 slave로부터..
Diagnostic report tee diag1.out; CALL sys.diagnostics(120, 30, 'current'); notee; --30초 간격으로 120 초동안 실행하면서 분석 리포트 생성 -. Oracle의 AWR이나 Tibero의 TPR 처럼 Snapshot을 기록해두고 성능을 추출하는 기능은 없어보인다. -. Mysql에서는 Diagnositc report를 job으로 등록해서 지나간 시점에 대해 분석을 해야할 듯 하다. MySQL 중요 Schema performance_schema information_schema 주요 목적 성능 데이터의 수집 메타 데이터의 수집 애플리케이션 성능 개선 감시 도구이자 관리 도구 도입된 버전 5.5 5.0 SQL 표준 아님(MySQL 독자 기능)..
사용법 1. EXPLAIN SQL 구문 2. DESCRIBE SQL구문 3. DESC SQL 구문 -. 위 3구문 전부 동일한 결과가 나온다 mysql> explain -> SELECT * FROM test1.test_tab1 tt -> WHERE c1 BETWEEN 1 and 10; +----+-------------+-------+------------+------+----------------------+------+---------+------+------+----------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra..