면접 - 데이터베이스 29

개발자 면접 질문 - 트랜잭션 병행 처리시 문제점

1. 트랜잭션 병행 처리시 문제점 - 갱신 내용 손실 : 동시에 하나의 데이터가 갱신될 때 하나의 갱신이 누락되는 경우 - 현황 파악 오류 : 하나의 데이터 갱신이 끝나지 않은 시점에서 다른 트랜잭션이 해당 데이터를 조회하는 경우 - 모순성 : 두 트랜잭션이 동시에 실행될 때 데이터베이스가 일관성이 없는 모순된 상태로 남는 문제 - 연쇄 복귀 : 두 트랜잭션이 하나의 레코드를 갱신할 때 하나의 트랜잭션이 롤백하면 다른 하나의 트랜잭션도 롤백되는 문제 2. 병행 처리 문제 방지 방법 - 로킹 제어 기법을 사용한다. (Locking) - 어떤 트랜잭션이 특정 DB의 데이터를 사용할 때 DB의 일정 부분을 Lock 시키고 트랜잭션이 완료될때 해당 부분을 Unlock 시키는 방법 3. 로킹 단위를 크게했을 때와..

개발자 면접 질문 - 실행 계획 EXTRA

1. Extra 컬럼 1) Using index - mysql 테이블에 접근하지 않도록 커버링 인덱스를 사용한다는 의미 2) Using where - mysql 서버가 값을 가져온 뒤 행을 필터링 한다는 의미 3) Using temporary - mysql 쿼리 결과를 정렬하기 위해 임시 테이블을 사용한다는 의미 4) Using filesort - mysql이 결과의 순서를 맞추기 위해 인덱스 순서로 테이블을 읽는 것이 아니라 외부 정렬을 사용해야 한다는 의미 5) Using join buffer - Join 처리시 Join Buffer 가 사용 되었다는 의미 * 커버링 인덱스 : 쿼리를 실행시키기 위해 필요한 데이터가 모두 포함된 인덱스

개발자 면접 질문 - Oracle과 MySQL 차이

1. NULL 값 확인 함수가 다르다 - ORACLE : NVL - MYSQL : IFNULL 2. 현재 날짜 시간 확인 방법이 다르다. - ORACLE : SYSDATE - MYSQL : NOW() 3. 날짜 포멧 변환이 다르다. - ORACLE : TO_CHAR - MYSQL : DATE_FORMAT 4. 요일 변환의 숫자 범위가 다르다. - ORACLE : 1,2,3,4,5,6,7 일,월,화,수,목,금,토 - MYSQL : 0,1,2,3,4,5,6 일,월,화,수,목,금,토 5. 문자와 문자 합치는 방법이 다르다. - ORACLE : || - MYSQL : CONCAT 6. 형변환 방법이 다르다. - ORACLE : TO_CHAR - MYSQL : CAST 7. 페이징 처리가 다르다. - ORACLE..