일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 무시하기
- 성능개선
- JSONArray 분할
- 문자형을 날짜형으로
- git stage
- Meta Table
- org.json
- 스프링 배치 공식문서
- JSON 분해
- jar 소스보기
- JSON 분할
- JobExecutionAlreadyRunningException
- JSONObject 분할
- 스테이지에 올리기
- JSON 분리
- 폐기하기
- 스프링 리액티브 프로그래밍
- date_format
- 날짜형을 문자형으로
- nonblocking
- 마리아디비
- 마이바티스 트랜잭션
- 스프링 배치 메타 테이블
- batchInsert
- multi update
- str_to_date
- spring webflux
- spring reactive programming
- 스프링 웹플럭스
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- Today
- Total
목록DATABASE STUDY (18)
ebson
CHARSET 과 COLLATE 의 개념 CHARSET 은 문자의 집합이라면 COLLATE 는 이들 문자 집합을 비교하고 정렬하는 규칙에 관한 것이다. 어떤 규칙에서는 영어 대소문자를 구분하는 반면 다른 규칙에서는 구분하지 않을 수 있다. 어떤 규칙에서는 악센트를 구분할 수도 있고 다른 규칙에서는 구분하지 않을 수 있다. 그리고 어떤 규칙에서는 이모지 문자를 지원하는 반면 어떤 규칙에서는 이모지 문자를 지원하지 않을 수 있다. 한편, MariaDB 에서는 CHARSET은 언제나 COLLATE 이름의 일부이다. 예를 들어, COLLATE 의 일종인 utf8mb4_bin 에서 utf8mb4 는 CHARSET 에 해당한다. utf8mb4 CHARSET utf8mb4 는 utf-8 CHARSET 을 확장하고 ..
7. GROUP BY-HAVING, ORDER BY 7.1. 집계 함수 (Aggregate Function) 7.1.1. 개념 - 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수이다. * 함수를 단일행 값이 입력되는 단일행 함수와 여러 행의 값이 입력되는 다중행 함수로 구분한다. 7.1.2. 특징 - GROUP BY 절에 명시한 컬럼의 값이 같은 행들을 소그룹화하고 그룹당 하나의 결과를 반환한다. - SELECT 절, HAVING 절, ORDER BY 절에 사용한다. 7.1.3. 키워드 - ALL : 기본설정으로 생략 가능하다. - DISTINCT : 같은 값을 하나의 데이터로 간주한다. 7.1.4. 종류 - COUNT(*) : NULL 값을 포함한 행의 개수를 출력 - COUN..

4. JOIN 4.1. 개념 - 두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것 - 관계형 데이터베이스의 핵심 기능 - 일반적으로 PK, FK에 의해 JOIN이 성립됨 - JOIN은 항상 두개의 집합 간에만 이루어짐 => 즉, A, B, C 테이블을 JOIN하면 A, B 테이블을 먼저 JOIN하고 이 JOIN으로 생성된 새로운 테이블과 C 테이블을 JOIN함 - 테이블의 JOIN 순서를 옵티마이저가 결정함 - 분할된 여러 개의 테이블들로부터 데이터를 조회하기 위해 테이블들 간의 논리적인 연관관계가 필요하고 이것을 표현하는 것이 JOIN임 4.2. 종류 4.2.1. EQUAL JOIN - 두 개의 테이블 간에 컬럼 값들이 정확히 일치하는 경우 사용함 4.2.1.1. ORACLE JOIN ..

1. KEY 1.1. PK - 각 행의 정보들을 식별 - NULL이거나 중복되면 안됨 - 고유 인덱스를 자동 생성 - 가능한 컬럼이 여러 개인 경우 가장 많이 사용되는 것, 간단하고 짧은 것을 선택 - 함수적 종속관계 - 테이블 당 하나만 정의 가능함 *문법 CREATE TABLE 테이블명 ( … 컬럼명 데이터타입 CONSTRAINT 제약조건이름 PRIMARY KEY … ) CREATE TABLE 테이블명 ( … CONSTRANT 제약조건이름 PRIMARY KEY (컬럼명) … ) 1.2. FK - 참조하는 테이블과 참조되는 테이블간의 관계(1:1, 1:N, N:M) - 한 테이블에 존재하는 다른 테이블에 정보 - 외래키 - 두 테이블간 종속이 필요한 관계일 때 참조관계를 표현 - FK로 정의된 테이블이..

오라클 데이터베이스를 사용할 때, 특정 구분자를 포함한 문자열에서 N번째와 N+1번째 구분자 사이의 문자만을 추출해야하는 요구사항이 있을 수 있다. 이때는 INSTR 함수를 사용해 N번째와 N+1번째 구분자의 인덱스를 찾고, SUBSTR 함수를 사용해 원하는 문자열을 추출할 수 있다. INSTR(원본문자열, 찾는문자, 시작인덱스, 찾는문자순번) SELECT CODE , INSTR(CODE, '.', 1, 1) FST_DOT_IDX , INSTR(CODE, '.', 1, 2) SCD_DOT_IDX , INSTR(CODE, '.', 1, 3) TRD_DOT_IDX FROM COM_MESSAGESOURCE WHERE CODE LIKE 'a.a%' ; SUBSTR(원본문자열, 시작인덱스, 시작인덱스로부터의 길이..
데이터베이스의 날짜형 데이터를 원하는 포맷의 문자열로 조회하는 것은 흔한 요구사항이다. MariaDB의 내장함수를 사용해 datetime 형 데이터를 vatchar(n) 형 데이터로 변환해 조회할 수 있다. 날짜형을 문자형으로 SELECT date_format(now() , '%Y-%m-%d %H:%i:%S') datetime_to_varchar => 2023-02-21 10:55:08 문자형을 날짜형으로 SELECT str_to_date('2022-07-13 14:49:46', '%Y-%m-%d %H:%i:%S') varchar_to_datetime , str_to_date('20220713 14:49:46', '%Y-%m-%d %H:%i:%S') varchar_to_datetime , str_to_d..
데이터베이스가 요청된 트랜잭션을 처리하기 위해 사용중인 프로세스간 락 현상이 발생할 수 있다. 특정 쿼리가 늦게 처리되거나, 의도치 않게 서비스가 종료되어 트랜잭션이 정상 처리되지 않은채로 남아있는 경우나 특정 테이블에 대해 복수개의 쿼리 요청이 동시에 있는 경우 등이 이에 해당할 것이다. 이때는 락 현상을 해결하기 위해 특정 프로세스를 kill 할 수 있다. 클라이언트에서 연결을 정상 종료하지 않았거나 클라이언트에서 요청한 쿼리가 느려서 연결이 종료되지 못한 경우, 해당 프로세스는 Sleep 상태가 된다. 이러한 경우의 예외처리가 적절히 되어 있지 않으면 프로그램이 종료된 후에도 디비와 연결이 끊어지지 않고 테이블에 대해 권한을 계속 갖고 있는다. 이경우 다른 프로세스가 해당 테이블에 접근하지 못하는 ..

1. 개념 부모, 자식 간의 수직관계를 트리 구조 형태로 보여주는 쿼리임 START WITH: 트리 구조의 최상위 행을 지정함, 시작 조건을 찾음 CONNECT BY: 부모, 자식의 관계를 지정함, 연결 조건을 찾음 PRIOR: CONNECT BY절에 사용되어 순방향, 역방향 전개를 결정함 CONNECT BY PRIOR 자식컬럼 = 부모컬럼 => 부모 → 자식 순방향 전개 CONNECT BY PRIOR 부모컬럼 = 자식컬럼 => 자식 → 부모 역방향 전개 ORDER SIBLINGS: 계층형 테이블의 데이터를 계층형으로 정렬함 2. 사용이유 동일한 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 조회하기 위해 사용함. 예를들어, 조직, 사원, 메뉴 등의 데이터에서 사용함 이상은 기본 SQL로는 불..