sql
SQL IN vs EXISTS
SQL IN vs EXISTS SQL의 IN / EXISTS 둘 다 특정 조건을 만족하는 데이터를 조회하기 위한 연산자. 하지만 동작 방식에 차이점이 존재.
IN 연산자 Where 절에서 값이 특정 집합 내에 있는지를 판단하는 연산자. 찾고자 하는 열이 집합의 하나 이상의 값과 일치시 True를 반환. 집합의 값을 직접 명시하거나 서브쿼리가 올 수 있음. 아래의 두 sql은 동일함. SELECT * FROM users WHERE id IN (1, 2, 3, 4) SELECT * FROM users WHERE id = 1 OR id = 2 OR id = 3 OR id = 4 NOT IN 연산자 IN의 반대 연산자.
read moresql
SQL Tuning
SQL Tuning SQL Tuning이란 SQL 쿼리를 보내는 방식에 따라 성능 차이 존재. 따라서 SQL문을 최적화하여 시간을 단축하는 행위. 다음과 같은 방법들 사용.
커서 사용 자제 커서는 속도를 저하시키고, 작업을 block시킴으로 인해 동시성을 저하시킴. 커서 사용 시 임시 테이블 사용 데이터를 잠시 저장하는 임시 테이블을 만들고 해당 테이블에서 커서를 사용 시 동시성 증진. 조인 시 임시 테이블 활용 두 테이블을 조인할 때 큰 테이블의 데이터를 임시 테이블로 끌어와 사용하는 방법으로 성능 개선.
read moresql
SSIS
SSIS SSIS란 Microsoft SQL server 데이터베이스 소프트웨어. Data migration / integration 작업에 사용되는 플랫폼.
Data Integration 서로 다른 source의 데이터를 합쳐서 통합된 뷰로 제공하는 것.
ex) 데이터 마이닝에서 기존 데이터베이스들의 정보를 분석하는 경우 사용.
Data Migration 데이터를 선택, 가공, 추출, 변형해서 한 저장소에서 다른 저장소로 영구적으로 전송하는 프로세스. 스토리지 변경, 유지 보수, 장애 회복 등을 이유로 시행.
기능 파일 복사, 다운로드 데이터 웨어하우스 로드 SQL 서버 및 데이터 관리 데이터 추출, 변환, 로드 (ETL) 확장성 사용자가 직접 연결, 로그 제공, 변환 등의 코드를 작성 가능.
read moresql
T-SQL
T-SQL T-SQL이란 마이크로소프트와 사이베이스가 SQL을 확장한 것. 절차적 프로그래밍, 지역 변수, 문자열 처리, DELETE 와 UPDATE 변경 등등을 포함. 마이크로소프트 SQL 서버에서 사용.
PL-SQL과의 차이점 둘 다 SQL을 절차 지향 프로그래밍으로의 확장이지만, T-SQL은 마이크로소프트 제품이자 완전 튜링. 반면 PL-SQL은 Oracle 제품이자 블록 구조화된 언어.
변수 DECLARE을 통해 변수를 정의하고, SET을 통해 변수를 설정 가능.
DECLARE @level INT; SET @level = 250; SELECT @level = UserLevel FROM Users 흐름 제어 흐름 제어를 위해 다음과 같은 키워드 사용.
read moresql
PL/SQL
PL/SQL PL/SQL 이란 Oracle에서 지원하는 SQL을 절차적 언어로 확장한 것. 조건문, 반복문, 변수 선언 등을 포함. Block 구조로 구성됨.
장점 다수의 SQL을 한 번에 DB에서 처리하므로 인해 잘 만들어진 경우 수행 속도가 향상될 수 있음. 모듈화 가능. 기존에 사용 불가능했던 변수, 조건 및 반복문 사용 가능. 예외 처리 가능. Block 구조 선언부: Delcare 문으로 시작하며 변수 선언/대입, cursor 선언 가능. 실행부: BEGIN문으로 시작해 END 문으로 끝나며, 조건문, 반복문 등 사용 가능.
read moresql
MYSQL
MYSQL Relational Database 데이터를 관계형 모델로 표현하는 데이터베이스. 여기에 사용되는 DBMS를 RDBMS라고 하며, 데이터를 처리하기 위해 SQL을 사용.
Database Engine (Storage Engine) 데이터 CRUD 작업을 가능하게 해 주는 DBMS의 SW 컴포넌트. 대부분의 DBMS는 이 엔진과 상호 작용 가능한 API를 제공. (DBMS의 User Interface와는 다른 방식)
MySQL 오픈 소스 RDBMS. Oracle, Postgre SQL처럼 많이 사용되는 RDBMS 중 하나. C, C++로 작성됨.
MYSQL 라이선스 제품에 따라 GPL 버전 2 혹은 자체 사유 라이선스 두 가지 적용.
read more