반응형
반응형
정적 SQL (Static SQL) 고정된 방식으로 작성되고 실행되는 SQL문 SQL문은 프로그램이 실행되기 전에 정의 데이터나 다른 변수의 변화에 영향을 받지 않음 일반적으로 DB에 의해 최적화되고 사전 컴파일될 수 있기 때문에 동적 SQL보다 효율적 예시 전체 멤버 조회 SELECT * FROM member; 동적 SQL (Dynamic SQL) 프로그램이 실행되는(런타임) 동안 생성되고 실행되는 SQL문 데이터나 다른 변수에 따라 변경될 수 있는 변수를 사용하여 구성 런타임까지 SQL 쿼리의 특성을 알 수 없는 상황에서 유용 정적 SQl보다 SQL 쿼리의 유연성과 더 넓은 범위의 조건과 상황을 처리 할 수 있는 사용자 정의가 향상 아래 예시는 간단한 예시이며 실제로는 좀 더 복잡함 예시 인천에 사는..
함수와 프로시저의 차이 함수(Function) 프로시저(Procedure) 데이터베이스에서 비즈니스 로직을 캡슐화하는데 사용 용도(Use) SELECT문, JOIN절 또는 하위 쿼리에서 사용 가능 명시적으로 호출해야만 실행 가능 반환 값(Return Value) 반드시 값 반환해야 함 값을 반환하지 않아도 됨, 대신 SQL문을 통해 여러 결과 집합을 반환하는 데이터를 조작 할 수 있음 정의 (Defined) 주어진 입력을 사용하여 결과를 계산하는 데 사용 특정 작업을 순차적으로 수행하는 데 사용 입력/출력 파라미터 (In/Out Parameter) 입력 매개 변수와 반환 출력 매개 변수 허용 입력 및 출력 매개 변수 허용 호출 (Call) 함수 내에서 프로시저 호출 불가능, 호출될 때마다 컴파일 진행 프..
Char / VarChar char (Character) 고정 크기 문자열 데이터 문자열의 크기를 바이트 단위로 정의 (1~8000바이트) 저장소 크기는 n바이트 n개의 문자열 저장 상황에 따라 문자 수는 n보다 작을 수 있음 (1바이트 문자만 존재하는 것이 아니기 때문) 특정 범위의 크기를 넘어서지 못함 varchar (Character Varying) 가변 크기 문자열 데이터 문자열의 크기를 바이트 단위로 정의 (1~8000바이트) 저장소 크기는 n바이트 + 2바이트 n개의 문자열 저장 상황에 따라 문자 수는 n보다 작을 수 있음 (1바이트 문자만 존재하는 것이 아니기 때문) 특정 범위의 크기를 넘어 설 수 있음 (8000~) char / varchar 사용 char : 컬럼의 항목들의 크기가 일치하..
카디널리티란? (Cardinality) 데이터베이스 테이블의 특정 열(속성)에 포함된 데이터 값의 고유성을 의미 즉, 데이터베이스의 테이블에 있는 컬럼의 고유 값의 수를 의미 카디널리티 값 값이 높을수록 중복 요소가 적고, 값이 낮을수록 중복 요소가 많음 높은 카디널리티 (High Cardinality) 카디널리티의 값이 높음 고유한 값을 가진 데이터가 많음 즉, 특정 열에서 중복되는 값이 거의 없는 경우를 나타냄 예시) 이메일 주소, 사용자 아이디, 고유 식별 번호 등 중간 카디널리티 (Medium Cardinality) 낮은 카디널리티와 높은 카디널리티의 중간 수준의 고유값을 가진 데이터가 많음 즉, 중복값은 있지만 완전히 중복되지 않은 경우 중간 카디널리티를 가짐 예시) 지역 코드, 제품 카테고리 ..