상용 DBMS에서 DB 성능 정보를 수집하는 다양한 Powerful한 기능이 오픈소스 DBMS에서는 상대적으로 약합니다.
튜너들에게는 특히 각 세션별 실행계획을 확인하고, 세션별 성능 Profile이 필수적으로 필요합니다.
상용 DBMS처럼 막강하진 않지만, MySQL에서도 할 수 있습니다.
MySQL에서는 아래와 같은 방법으로 general Log, slow long query, Session State, Session Profile을 할 수 있습니다.
아래의 스크립트를 참조하세요.
/*****************************
MySQL에서 세션별 상태, 쿼리 내용 보기
쿼리 플랜 보기
******************************
-- general log 보기
SELECT * FROM mysql.general_log;
-- slow log
SELECT * FROM mysql.slow_log;
-- 세션별 현황, SQL Server의 sys.sysprocesses 와 유사.
SHOW PROCESSLIST;
-- 세션별 현황, SHOW PROCESSLIST와 비교해 쿼리가 Full 로 display 됨.
SHOW FULL PROCESSLIST;
-- 개별 세션 성능 Profiling 하기.
SET PROFILING = 1;
SHOW PROFILES\G
-- Quer Execute!
SELECT * FROM TB_1;
SHOW PROFILE;
/*
Status Duration
starting 0.000040
checking permissions 0.000008
Opening tables 0.000008
init 0.000014
optimizing 0.000004
executing 0.000010
end 0.000005
query end 0.000002
freeing items 0.000029
logging slow query 0.000003
cleaning up 0.000002
*/
By 윤성용, Microsoft SQL Server MVP @ South Korea.
'2. DBMS이야기 > 02. MySQL' 카테고리의 다른 글
mysqladmin — Client for Administering a MySQL Server (1) (0) | 2014.07.02 |
---|---|
[MYSQL] 데이터 타입 (0) | 2014.06.30 |
SQL Server, MySQL DBA Commands 비교 (1) (0) | 2014.06.20 |
Installing MySQL on Unix/Linux Using Generic Binaries (0) | 2014.06.14 |
MySQL Workbench: Tabkes and Data Migration (0) | 2014.05.26 |