DBLock, 블로킹, DeadLock
·
SQL/MySQL
DBLockDB에 여러 트랜잭션이 동시에 동일한 데이터에 접근했을 때 정합성을 유지하고 충돌을 방지하여 순차적으로 처리될 수 있도록 지원하는 기능이다. 종류범위(Scope) 기준 (동시성 높은 순)Row-Level Lock (행 락)레코드(row)에 락을 설정작은 범위의 락으로 동시성을 높일 수 있지만 오버헤드가 발생할 수 있다Page-Level Lock (페이지 락)페이지(데이터 블록 단위)에 락을 설정페이지는 테이블을 구성하는 요소로 용량이 8kb로 제한되어 있다.Table-Level Lock (테이블 락)테이블 전체에 락을 설정동시성은 낮지만 간단하고 빠르게 구현할 수 있다Database-Level Lock (데이터베이스 락)데이터베이스 전체에 락을 설정주로 백업이나 복구 작업 등에서 사용된다.공유..
프로그래머스 Lv.5 - 멸종위기의 대장균 찾기
·
SQL/MySQL
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다.다음은 실험실에서 배양한 대장균들의 정보를 담은 ECOLI_DATA 테이블입니다. ECOLI_DATA 테이블의 구조는 다음과 같으며, ID, PARENT_ID, SIZE_OF_COLONY, DIFFERENTIATION_DATE, GENOTYPE 은 각각 대장균 개체의 ID, 부모 개체의 ID, 개체의 크기, 분화되어 나온 날짜, 개체의 형질을 나타냅니다.Column nameTypeNullab..
프로그래머스 Lv.4 - 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기
·
SQL/MySQL
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제설명HR_DEPARTMENT 테이블은 회사의 부서 정보를 담은 테이블입니다. HR_DEPARTMENT 테이블의 구조는 다음과 같으며 DEPT_ID, DEPT_NAME_KR, DEPT_NAME_EN, LOCATION은 각각 부서 ID, 국문 부서명, 영문 부서명, 부서 위치를 의미합니다.Column nameTypeNullableDEPT_IDVARCHARFALSEDEPT_NAME_KRVARCHARFALSEDEPT_NAME_ENVARCHARFALSELOCATIONVARCHARFALSE  HR_EMPLOYEES 테이블..
MySQL CTE(Common Table Expression) 공통 테이블 표현식
·
SQL/MySQL
CTE(Common Table Expression) 공통 테이블 표현식 단일 쿼리문 내에서 임시 테이블을 생성하여 여러번 참조가 가능한 임시 결과 집합 MySQL 8.0.1부터 도입 WITH문 단일 레코드 # WITH {테이블명} AS (SELECT a AS A, b AS B) WITH temp AS ( SELECT "홍길동" AS name, 20 AS age ) # WITH {테이블명} (A, B) AS (SELECT a, b) WITH temp (name, age) AS ( SELECT "홍길동", 20 ) WITH문 다중 레코드 WITH temp (name, age) AS ( SELECT"홍길동", 20 UNION ALL -- 두 레코드를 병합 SELECT "김아무개", 30 ) WITH문 재귀사용..