MySQL

[MySQL] 데이터베이스 생성/사용/삭제, 인덱스 생성/삭제, 실행 계획 확인/분석 관련 명령어 모음.zip

깃짱 2023. 9. 20. 18:00
반응형
반응형

💋 데이터베이스 관련 명령어

  1. 데이터베이스 생성: CREATE DATABASE databasename;
  2. 데이터베이스 사용: USE databasename;
  3. 데이터베이스 삭제: DROP databasename;

💋 인덱스 관련 명령어

  1. 인덱스 생성: CREATE INDEX indexname ON tablename (column1, column2, ...);
  2. 인덱스 삭제: DROP INDEX indexname ON tablename;
  3. 인덱스 상태 확인: SHOW INDEX FROM tablename;

 

💋 실행 계획 관련 명령어

  1. 실행 계획 보기: EXPLAIN SELECT column1, column2, ... FROM tablename WHERE condition;
  2. 실행 계획의 종류와 의미:
    • id: SELECT 문 내의 쿼리 실행 순서를 나타냅니다.
    • select_type: 쿼리의 유형을 나타냅니다 (SIMPLE, SUBQUERY, UNION 등).
    • table: 테이블의 이름을 나타냅니다.
    • type: 테이블에 대한 접근 방식을 나타냅니다 (ALL, INDEX, RANGE 등).
    • possible_keys: 사용 가능한 인덱스를 나타냅니다.
    • key: 쿼리에서 선택된 인덱스를 나타냅니다.
    • key_len: 인덱스의 길이를 나타냅니다.
    • ref: 쿼리에서 인덱스를 사용하는 열 또는 상수를 나타냅니다.
    • rows: 테이블에서 검색된 행 수를 나타냅니다.
    • Extra: 추가적인 정보를 제공합니다 (Using index, Using temporary, Using filesort 등).
  3. 실행 계획 분석하기:
    • type 값이 ALL인 경우, 모든 행을 스캔하므로 성능이 저하될 수 있습니다. 이 경우 인덱스를 추가로 생성하거나 쿼리를 개선해야 합니다.
    • type 값이 INDEX인 경우, 인덱스를 사용하여 효율적으로 데이터를 검색하고 있습니다.
    • type 값이 RANGE 또는 REF인 경우, 인덱스의 범위를 사용하여 검색하고 있습니다.
    • type 값이 EQ_REF인 경우, 조인 또는 부모-자식 테이블의 동등 조건을 기반으로 한 검색을 수행하고 있습니다.

 

도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!

 

반응형