메타데이터
데이터를 위한 데이터
DB, 테이블의 스키마에 대한 정보를 저장하는 테이블
DB명, 테이블명, 컬럼명, 사용자명, show 명령어의 결과값...
1) Data Dictionary : Information_schema
데이터베이스의 정보저장, 시스템카탈로그 라고도 함, 일반적으로 읽기전용임
2) Data Directory
DBMS의 모든 데이터가 저장되는 디렉토리, DB저장, 상태 및 로그저장
C:\Program Files\MySQL\MySQL Server 5.x\data
C:\Program Files\MySQL\MySQL Server 5.x\my.ini
파일이 있는데 여기서 datadir 이 정의되어 있고 이걸 바꾸면 원하는 곳에 저장됨
show databases;
show tables;
show table status;
show columns from 테이블명;
show index from 테이블명;
show tables in information_schema;
describe information_schema.CHARACTER_SETS ;
Character Set은 문자인코딩 정보를 정하는 것이고, Collation은 정렬시에 대소문자를 구분할지 여부를 정하는 정보이다.
스토리지 엔진(Stroage Engine)
MyISAM, InnoDB 등이 있음 MySQL 5.7기준 기본엔진은 InnoDB임.. 이건 Oracle도 동일
InnoDB : 트랜잭션 지원, 줄단위 락(테이블단위 락이 아님), 해당 row만 락을 걸고 다른 row는 허용함, 복구용이, 동시처리성능좋음
MyISAM : 상대적으로 높은 성능(싱글스레드에서 그렇다는 거구.. 멀티스레드에서는 성능떨어짐), 읽기위주, 테이블단위락
기본 스토리지엔진 확인하는 방법
select engine, support from information_schema.engines where support='DEFAULT';
또는 show engines;
set default_storage_engine=MyISAM; (이 명령어로 바꾸게 되면 리부팅시 다시 원래대로 돌아간다.)
아래같이 설정파일을 바꿔야 영구적으로 바뀐다. my.ini (my.cfg 리눅스)
[mysqld]default-storage-engine = MyISAM
show tables; 하면 information_schema 이런 DB도 있다..
use information_schema;
show tables; 하면 굉장히 많이 나옴. 캐릭터셋도 있고 뒤로 가보면.. InnoDB도 나옴
show engines; mysql이 지원하는 엔진이 여러개 나오고.. InnoDB가 기본으로 되어있음, MyISAM도 있음..
'MYSQL강좌정리' 카테고리의 다른 글
16장 파티셔닝/샤딩, 데이터베이스 복제 (0) | 2022.11.29 |
---|---|
15장 데이터백업 복원 로그 (0) | 2022.11.29 |
13차시 인덱스 (0) | 2022.11.27 |
10장~12장 (0) | 2022.11.27 |
9장 DDL 강의(스키마) (0) | 2022.11.27 |