일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- quert
- 리덕스 공식문서
- 리액트
- 네임드 뷰
- 컴포넌트 주도
- $emit()
- 자료구조
- 애그리거트
- exiting abnormally
- 오라클 병렬처리
- 공식문서
- Express
- 오라클
- paraller
- REDIS
- ACCESS_REFUSED
- vue.js
- .getClass()
- 자바
- rabbitmq 에러
- 리덕스
- AWS
- forNmae()
- 커스텀 로그인
- react
- redux
- EBS
- 도커빌드
- Java Reflextion API
- VUE
- Today
- Total
목록CS/데이터베이스 (5)
개발정리

옵티마이저... 옵티마이저를 보자! 요청이 들어온 SQL문에 대해 파서가 문법의 오류를 검사하고 그 이후 옵티마이저가 쿼리 트리를 바탕으로 실행 계획을 세웁니다. 데이터베이스에서 쿼리의 비용을 계산 할때 보는것이 실행 계획입니다. 실행 계획이 어떻냐에 따라 쿼리의 실행 속도의 차이가 발생합니다.옵티마이저가 만든 실행 계획에 따라 실행 엔진이 스토리지 엔진에 요청하게 됩니다. 그래서... EXPAIN이 뭐냐고.... EXPLAIN은 MYSQL에서 쿼리에 대해 옵티마이저가 생성한 실행 계획을 보여주는 명령문 입니다. EXPLAIN select * from 사원; 다음과 같은 명령으로 쿼리를 실행 한다면 실행 계획에 대한 테이블을 보실 수 있을 것 입니다. EXPAIN의 결과 테이블은 어떻게 해석해? 이제부터..
레코드락 -테이블 레코드 자체를 잠그는 락 -MySQL에서의 레코드 락은 테이블의 레코드가 아닌 인덱스의 레코드를 잠근다. -여기서 락이 걸리는 인덱스는 클러스터 인덱스와 논클러스터 인덱스 모두를 포함한다. 갭 락 -레코드와 바로 인접한 레코드 사이의 간격만을 잠그는 것 -레코드와 레코드 사이의 간격에 새로운 레코드가 생성(INSERT)되는 것을 제어하는 것 -아직 존재하지 않지만 지정된 범위의 해당하는 인덱스 테이블 공간을 대상으로 거는 잠금 넥스트 키 락 -레코드 락과 갭 락을 합쳐 놓은 형태의 잠금 자동 증가 락 -MySQL에서는 자동 증가하는 숫자 값을 추출하기 위해 AUTO_INCREMENT라는 컬럼 속성을 제공 -Innodb 스토리지 엔진에서는 이를 위해 내부적으로 AUTO_INCREMENT락..
트랜잭션의 고립수준 이란? -트랜잭션들 끼리 일관성 있는 데이터를 얼마나 허용할 것인지 정해놓은 수준 -고립수준이 높을수록 일관성은 보장되지만 그만큼 동시성이 떨어져 성능 하락 이상현상 종류 1.Dirty Read -어떤 트랜잭션에서 아직 실행이 끝나지 않은 트랜잭션에 의한 변경사항을 보게 되는 경우 2.Non Repeatable Read -어떤 트랜잭션이 같은 쿼리를 2번 실행하는데 그 사이에 다른 트랜잭션이 수정/삭제를 하여 같은 쿼리에 다른 값이 나오는 경우 3.Phantom Read -어떤 트랜잭션이 같은 쿼리를 2번 실행하는데 그 사이에 없던 레코드가 추가되어 같은 쿼리에 다른 값이 나오는 경우 Read Uncommitted(Level 0) -각 트랜잭션에서 변경된 내용이 commit 이나 ro..
인덱스란? - 인덱스는 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료구조이다. -특정 컬럼에 인덱스를 생성하면 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장 된다. -인덱스를 활용하면 데이터를 조회하는 SELECT 외에도 UPDATE나 DELETE의 성능이 함께 향상된다. 인덱스의 관리 -DBMS는 인덱스를 항상 최신의 정렬된 상태로 유지해야 한다. *INSERT,UPDATE,DELETE가 수행된다면 연산을 추가적으로 해줘야 함 INSERT:새로운 데이터에 대한 인덱스를 추가함 DELETE:삭제하는 데이터의 인덱스를 사용하지 않는다고 표기 UPDATE:기존의 인덱스를 사용하지 않음 처리하고 갱신된 데이터에 대해 인덱스를 추가 인덱스의 장점과 단점 장..
트랜잭션이란? 데이터베이스의 상태를 변경시키기 위해 수행하는 작업단위 커밋과 롤백 -모든작업이 정상적으로 성공하는 경우 DB에 정상반영 ->커밋 -작업중 하나라도 실패하여 이전으로 되돌리는 것 ->롤백 DB세션 -사용자가 DB서버에 접근하면 사용자는 DB에 연결을 요청하고 커넥션을 맺게 됩니다. -이때 DB서버는 내부에 DB세션이라는 것을 만들고 앞으로 해당 커넥션을 통한 모든 요청은 이 세션을 통해 실행 자동커밋 과 수동 커밋 자동 커밋은 각각의 쿼리 실행 직후에 자동으로 커밋을 호출해 커밋이나 롤백을 직접 호출하지 않아도 됨 수동 커밋은 퀴리들을 하나의 묶음으로 하여 커밋