본문 바로가기
DB

이것이 MariaDB다 2

by _dreamgirl 2020. 2. 22.
반응형

이것이 MariaDB다2

 

MariaDB  고급

 

  • AUTO-INCREMENT로 지정한 열은 PRIMARY KEY나 UNIQUE로 반드시 지정해야 한다.

 

  • 데이터의 무결성에 대한 6가지 제약
    • PRIMARY KEY 제약 조건 : 중복되면 안되고 NULL도 안됨
    • FOREIGN KEY 제약 조건 : FK로 연관된 키값이 PK이거나 UNIQUE 이어야 함
    • UNIQUE 제약 조건
    • CHECK 제약 조건
    • DEFAULT 정의
    • NULL 값 허용

 

  • SHOW KEYS FROM 테이블명; 테이블에 지정된 키 보기
  • SHOW INDEX FROM 테이블명; 
  • ON DELETE CASECADE or ON UPDATE CASECADE : 기준TB PK값이 변경시 외래키 TB 데이타도 변경되거나 삭제
  • ON UPDATE NO ACTION or ON DELETE NO ACTION : 기준TB PK값의 변경에도 외래키 TB 영향 없음

 

  • CHECK 제약조건
  • DEFAULT 정의 : 기본 입력값
  • 테이블 압축(테이블 생성시)
  • 칼럼 압축
  • 임시 테이블 : 세션상만 유지
  • DROP TABLE 테이블명; 테이블 삭제
  • ALTER TABLE 테이블명; 테이블 수정
  • SET foreign-key-checks = 0; 외래키 제약 조건 비활성화 
  • SET foreign-key-checks = 1; 외래키 제약조건 활성화

 

  •  
  • CREATE VIEW AS SELECT 문~

 

  • 인덱스
  • 전체 테이블 검색 Full Table Scan
  • 클러스터형 인덱스(영어사전)와 보조 인덱스(찾아보기)
  • 클러스터형 인덱스는 테이블당 한 개만 생성할 수 있고, 보조 인덱스는 테이블당 여러 개를 생성할 수 있음
  • PRIMARY KEY로 지정하면 자동으로 클러스터형 인덱스가 생성됨
  • UNIQUE NOT NULL 로 지정된 열은 클러스터형 인덱스가 생성됨
  • UNIQUE (또는 UNIQUE NULL)로 지정된 열은 보조 인덱스가 생성됨
  • PRIMARY KEY로 지정한 열(또는 클러스터형 인덱스가 생성된 열)로 데이터가 오름차순 정렬됨
  • 인덱스를 구성하게 되면 데이터의 변경시에 성능이 나빠질 수 있음(페이지 분할)
  • MariaDB에서는 노드가 페이지가 되며 인덱스를 구현할 때 기본적으로 B-Tree 구조를 사용한다.

 

  • 인덱스 생성 CREATE INDEX 인덱스명 ON 테이블명;
  • 인덱스 제거 DROP INDEX 인덱스명 ON 테이블명; 
  • 실행 계획 EXPLAIN SELECT 문 ~
    • Type : ALL (Full Table Scan)
    • Type : Const ( Primary Scan)
    • Type : Ref (보조 인덱스 이용)

 

 

  • 스토어드 프로그램
  • 스토어드 프로시저의 생성, 수정, 삭제
  • DECLARE  액션 HANDLER FOR 오류조건 처리할 문장구문
  • SHOW CREATE PROCEDURE 프로시저의 내용 확인
  • 스토어드 프로시저의 특징: 성능향상, 유지관리의 편의성, 모듈식 프로그래밍, 보안강화(접근 권한을 부여)
  • 스토어드 함수: 사용자가 직접 만들어서 사용하는 함수
  • SHOW CREATE FUNCTION : 스토어드 함수 내용 확인
  • DROP FUNCTION ~ : 스토어드 함수 삭제
  • 커서
  • 트리거 : 테이블 삽입,수정,삭제 등 작업이벤트가 발생할 때 자동으로 작동되는 개체
  • AFTER 트리거, BEFORE 트리거
  • TRUNCATE TABLE 테이블명은 DELETE FROM 테이블명과 동일하게 행 데이터를 삭제, 그러나 트리거가 작동되지 않음
  • 트리거가 생성하는 임시 테이블 NEW, OLD
  • SHOW TRIGGERS : 생성된 트리거 확인 
  • DROP TRIGGER 트리거명 : 트리거 삭제
  • 다중 트리거, 중첩 트리거
  • 전체 텍스트 인덱스(FULLTEXT Index) 생성
  • 중지 단어
  • 자연어 검색, 불린 모드 검색
  • 파티션
  • 파티션을 나눴던 그렇지 않든 사용자는 신경쓰지 않아도 됨.
  • 파티션을 삭제하면 그 파티션의 데이터도 삭제됨.
반응형

'DB' 카테고리의 다른 글

프로그래머스 SQL 테스트 3  (0) 2022.06.01
SQL JOIN문 공부하기  (0) 2022.05.15
프로그래머스 SQL 테스트 2  (0) 2022.05.11
프로그래머스 SQL 테스트 1  (0) 2022.05.10
이것이 MariaDB다 1  (0) 2020.02.22

댓글