일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 스프링 배치 메타 테이블
- 스프링 배치 공식문서
- JSONObject 분할
- JSON 분해
- 성능개선
- 스프링 리액티브 프로그래밍
- 스테이지에 올리기
- str_to_date
- Meta Table
- spring reactive programming
- batchInsert
- 무시하기
- multi update
- 마리아디비
- jar 소스보기
- org.json
- JSONArray 분할
- date_format
- JSON 분할
- 날짜형을 문자형으로
- 문자형을 날짜형으로
- 마이바티스 트랜잭션
- JSON 분리
- nonblocking
- git stage
- JobExecutionAlreadyRunningException
- spring webflux
- 스프링 웹플럭스
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- 폐기하기
- Today
- Total
목록DATABASE STUDY (18)
ebson
1. CHAR 고정길이 문자열임 기본 길이 1바이트, 최대 길이 오라클 2000바이트, SQL Server 8000바이트임 최대 길이를 갖고 고정 길이를 갖고 있으므로 할당도나 변수 값의 길이가 이보다 작을 경우에는 그 차이 길이만큼 공간으로 채워짐 문자열을 비교할 때 공백을 채워서 비교함. 그래서 ‘AA’ = ‘AA ‘를 비교하면, ‘AA ‘=’AA ‘로 비교해서 같다는 결과를 냄 실제 데이터의 길이가 일정한 컬럼에 적합함 공백이 추가되어 값이 저장되면 프로그램에서 등가비교시 오류가 날 수 있음 한글은 인코딩 설정에 따라 한글자당 3바이트로 인식함 2. VARCHAR 가변길이 문자열임 최소 길이 1바이트, 최대길이 오라클 4000바이트, SQL Server 8000바이트임 최대 길이를 갖지만 가변 길이..
1. 개념 INSERT INTO문에서 값이 없을때 NULL 대신 INSERT되는 값을 정하는 제약조건임 기본값은 리터럴 값, 표현식 또는 sysdate와 같은 sql함수가 될 수 있음 2. 사용이유 null 값이 입력되는 것을 방지함 -> 데이터 무결성 공통된 코드를 중복해서 적는 것을 방지함 3. 장단점 3.1. 장점 공백 데이터가 들어가지 않도록 함으로써 데이터 무결성을 보장함 3.2 단점 null로 명시적으로 입력하면 기본값이 동작하지 않음 => 12c 부터 DEFAULT ON NULL 로 null이 명시적으로 입력되는 경우도 기본값을 적용할 수 있음 4. 사용방법 4.1 생성 CREATE TABLE [테이블명] ( [컬럼명] [자료형] DEFAULT [기본값] … ) 4.2 수정 ALTER TAB..

1. INDEX의 개념 책에서 목차나 색인의 역할을 함 ROWID(file번호 + block번호 + row번호를 통해 data block에 접근함 데이터를 찾기 위해 오름차순으로 정렬된 주소체계임 테이블에 대한 검색 속도를 높여주는 자료구조임 ROOT, BRANCH, LEAF로 구성된 계층적 구조임 오라클 서버에서 옵티마이저는 FULL SCAN보다 INDEX SCAN이 유리하다고 판단되면 생성된 INDEX의 ROOT부터 찾음 ROOT에는 BRANCH 블럭의 시작점에 대한 정보를, BRANCH LEVEL에서는 LEAF블럭의 시작점에 대한 정보를 갖고 있음 LEAF에서 해당 데이터의 ROWID를 알 수 있음 트리 구조를 따라 검색해 ROWID를 알아냄으로써 빠르게 데이터에 접근함 INDEX에는 NULL값이 ..
1. 개념 없는 값이 아니라 모르는 값임 오라클은 빈문자열(‘’)도 NULL로 인식함 NULL로 인식되는 값은 비교 연산자를 사용할 수 없음 NULL에 사칙연산을 하면 결과는 NULL임 IS NULL 연산자 또는 NVL()함수를 사용해 조회할 수 있음 2. 사용이유 INSERT에서 값을 입력하지 않은 경우 OUTER JOIN했을 때 연결 컬럼의 값이 없는 경우 3. 사용방법 LENGTH() 함수를 사용해서 NULL 값과 공백 문자열을 구분해야 함

1. 시퀀스 개념 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체임 보통 PK값에서 중복발생 방지를 위해 사용함 메모리에 캐시되었을 때, 시퀀스 값에 대한 액세스 효율이 향상됨 시퀀스는 테이블과 독립적으로 저장되고 생성됨 -> 하나의 시퀀스를 여러 테이블에서 사용할 수 있음 2. 시퀀스 사용이유 데이터 입력 시 동시성 때문에 값이 겹치는 것을 방지함 COMMIT이 완료되지 않더라도 시퀀스를 사용하면 다수 사용자가 중복되지 않은 값을 얻을 수 있음 3. 시퀀스 사용시 장단점 3.1. 유일한 값을 생성함 인서트시 [시퀀스명].NEXTVAL와 같이 작성하면 자동 입력됨 메모리 캐싱할 수 있음 테이블과 독립적이므로 여러 테이블에서 사용할 수 있음 3.2. DB가 비정상적으로 종료되면 시퀀스 번호가..

1. 옵티마이저 개념 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행함 최적의 실행 방법을 실행 계획이라고 함 최적의 실행 방법을 결정하는 것은 최소 일량으로 동일한 일을 처리하도록 하는 것임 실행계획을 수립하고 실행하는 DBMS의 소프트웨어임 규칙 기반 옵티마이저, 비용 기반 옵티마이저로 구분됨 데이터 사전의 오브젝트 통계, 시스템 통계를 사용해 비용 산정함 여러 개의 실행 계획 중 최저비용을 가진 계획을 선택해 SQL을 실행함 1.1. 옵티마이저 실행 절차 개발자가 작성한 SQL을 파신, 문법 검사 및 구문 분석함 구문 분석 후 옵티마이저가 규칙 기반 혹은 비용 기반으로 실행 계획을 수립함 기본적으로 비용 기반 옵티마이저를 사용해 실행 계획을 수립함 실행 계획이 수립되면 최종..
1. 요약 두 테이블을 서로 묶어서 하나의 결과를 만듦 INNER JOIN은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 함. 공유 컬럼을 기준으로 교집합임 OUTER JOIN은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나옴. 공유 컬럼을 기준으로 부분집합, 합집합임 CROSS JOIN은 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능임 SELF JOIN은 자신이 자신과 조인한다는 의미로 1개의 테이블을 사용함 두개 이상의 테이블을 서로 연결해 데이터를 검색할 때 사용함 두개의 테이블을 하나의 테이블로 조회함 연결하려면 테이블이 적어도 하나의 컬럼을 공유하고 있어야 함. 공유하는 칼럼은 PK 또는 FK 임 2. INNER JOIN 두..
1. 개념 쿼리 안에 또 다른 쿼리가 있는 경우임 외형적으로는 한 SELECT문 안에 다른 SELECT문이 있는 경우임 WHERE절, FROM절 또는 SELECT절의 컬럼 리스트에 서브쿼리를 사용할 수 있음 WHERE절에 SELECT문을 사용하면 서브쿼리라고 함 FROM절에 서브쿼리를 사용하는 것을 인라인 뷰라고 함 SELECT절에 서브쿼리를 사용하는 것을 스칼라 서브쿼리라고 함 서브쿼리 밖에 있는 SELECT문을 메인쿼리라고 함 반환하는 행 수가 한 개인 것을 단일 행 서브쿼리라고 함. 단일 행 서브쿼리는 비교 연산자(=,