728x90
목차
1. 메타데이터
2. 캐릭터셋/콜레이션
3. 스토리지 엔진

1. 메타데이터

메타데이터의 개념

  • 데이터를 위한 데이터
  • DB, 테이블의 스키마에 대한 정보를 저장하는 테이블
  • DB명 테이블명, 컬럼명, 사용자명, SHOW명령의 결과값, …
  • 데이터 사전(Data Dictionary) : Information_schema
  • 데이터 디렉토리(Data Directory)

 

메타데이터 실습

  • SHOW DATAVASES;
  • SHOW TABLES;
  • SHOW TABLE STATUS; // 테이블상태
  • SHOW COLUMNS FROM 테이블명; // 테이블의 컬럼명 확인
  • SHOW INDEX FROM 테이블명; // 테이블의 인덱스 확인
  • SHOW TABLES IN INFORMATION_SCHEMA; // 테이블의 리스트 확인 
  • DESCRIBE INFORMATION_SHEMA.CHARACTER_SET

 

INFORMATION_SCHEMA

  • Use INFORMATION_SCHEMA; SHOW TABLES; // ROUTINES
  • CHARACTER_SETS // SCHEMATA
  • COLLATION // STATISTICS
  • COLLATION_CHARACTER_SET_APPLICABILITY // TABLES
  • COLUMNS // TABLE_CONSTRAINTS
  • COLUMN_PRIVILEGES // TRIGGERS
  • KEY_COLUMN_USAGE // USER_PRIVILEGES
  • REFERENTIAL_CONSTRAINTS // VIEWS

 

2. 캐릭터셋/콜레이션 —> 문자 인코딩 정보 결정 / 정렬 시 대소문자 구분 여부 결정

CharacterSet/Collation

  • 문자인코딩 정보/메타데이터의 일종
  • 문자열(VARCHAR, CHAR)의 값을 저장할 때 사용되는 기본정보
  • DB/테이블별로 별도 설정 가능

Collation

  • 데이터를 정렬(문자간의 비교)할 때 사용하는 정보
  • 정렬 시에 대소문자를 구분/비구분여부 설정(Case Sensitive/Insensitive)
  • 한글데이터의 경우 무의미
Status;
show variables like character_set_system;
alter database world character set utf8 collate utf8_general_ci;
alter table city character set utf8 collate utf8_general_ci;
create database sampleTestDB default character set utf8 collate utf8_general_ci;

 

3. 스토리지 엔진

스토리지 엔진(Storage Engine)

  • MySQL 엔진 안에 여러 엔진 중에 스토리지 엔진이 따로 있음
  • DBMS가 데이터를 CRUD할때 사용하는 기본 컴포넌트
  • 대표적으로 MyISAM과 InnoDB등이 있음
  • 데이터 접근속도/안정성/트랜잭션의 지원 여부등의 차이가 있음
  • 기본값은 InnoDB(MySQL 5.7기준)

ex

SELECT engine, support FROM information_schema.engines WHERE support=‘DEFAULT’

SET default_storage_engine=MyISAM; (리부팅시 리셋)

my.ini 변경

[mysqld] default-storage-engine=MyISAM

윈도우용의 경우

시스템 트레이의 MySQL Notifier에서 Restart 선택

 

 

 

728x90

+ Recent posts