콘텐츠로 이동

2023 02 22

2023-02-22

SQL VIEW

  • 데이터베이스에 존재하는 일종의 가상 테이블
  • 실제 테이블처럼 행/열을 가지지만, 실제로 데이터 저장 X
  • 인덱스 못가짐 -> 현업에서 사용하기 좀 힘들어
    CREATE OR REPLACE VIEW v_customer_orders AS
        SELECT b.orderNumber AS no, a.customerNumber, a.customerName,
        concat(concatLastName, ' ', concatFirstName) contactName,
        b.orderDate, shippedDate, b.status
    FROM customers a
        JOIN orders b
            ON a.customerNumber = b.customerNumber;
    

SQL Procedure

  • MySQL에서 제공하는 프로그래밍 기능
  • Query의 집합으로 어떠한 동작을 절차적으로 처리하기 위한 용도로 사용
  • 자주 사용되는 일반적인 쿼리를 모듈화하여 DB 운영하기 위함

SQL Stored Function

  • MySQL에서 제공하는 함수 외 사용자가 직접 만들어 사용하는 함수
  • 스칼라성으로 돌아서 캐싱이 다 날라감

SQL Trigger

  • 명시된 이벤트가 발생할 때마다 DBMS가 자동적으로 수행하는 프로시저
  • 데이터 무결성을 위함

Partition

  • MySQL 서버 입장에서는 데이터를 별도의 테이블로 분리해서 저장하지만, 사용자 입장에서는 하나의 테이블로 읽기/쓰기 지원
  • 특정 DML과 쿼리 성능 향상, 대용량 쓰기에서 효율적
  • 로그성 데이터의 효율적인 관리 가능
  • 데이터의 물리적인 저장소 분리 가능
  • 테이블과 인덱스를 별도로 파티셔닝하는 것 불가능
  • Range/List Partition
    • 데이터의 양이 많은 경우
    • 데이터가 특정 칼럼에서 일정한 기준으로 나뉘어질 수 있는 경우