일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인덱스
- 바이너리 카운팅
- 재정의
- MSA
- 필드 주입
- jpa
- Test
- 조합
- java
- KEVISS
- static
- 열 속성
- stream
- 테스트 코드
- SQL
- DDL
- jwt
- lambda
- VUE
- StringBuilder
- Spring
- equals
- hashcode
- 생성자 주입
- DI
- redis
- select_type
- docker
- AOP
- cache
- Today
- Total
목록테크 블로그 리뷰 (19)
백엔드 개발자 블로그
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/byeF1C/btsLgekoBbq/UUELUhHP9s0LhvKA5EWhK1/img.png)
인덱스란B-Tree 구조인덱스는 해당 자료구조를 사용함시간 복잡도 : O(logN) 인덱스 종류프라이머리 키 인덱스 :PK or Unique 칼럼을 인덱스로 한거탐색과정 B-Tree와 비슷 세컨더리 인덱스 프라이머리 키 외 인덱스인덱스 두번 스캔함 : 세컨더리 인덱스의 리프노드가 PK일 경우 레코드 하나가 변할 때마다 바꿔줄 필요가 없어짐인덱스의 주의사항CUD의 오버헤드 : 데이터 삽입시 리프노드를 분리하고, 올려줘야 되므로 오베헤드 발생가능성 있음디스크 사용량 : 2G 복합키 인덱스 9개 해주면 9G ㅎㄷㄷ인덱스의 여러가지 스캔 방식 인덱스 레인지 스캔 필요한 범위만 읽는 효율적인 스캔 방식랜덤 I/O : 인덱스가 아닌 정보까지 조회하면 발생함테이블의 랜덤 I/O가 25% 넘어가면 full table..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nmB25/btsLe3RLcLl/pYm1yujs6v69FVc7Va44fK/img.png)
MySQL 아키텍처MySQL 엔진(SQL문 분석, 최적화) + 스토리지 엔진(데이터 저장/조회)MySQL 옵티마이저는 MySQL 엔진에 포함됨실행과정1. SQL 파서 : SQL문을 MySQL 서버가 이해할 수 있도록 분리 = 파스 트리2. SQL 옵티마이저 : 파스 트리를 확인하여 쿼리 최적화 및 실행계획 수립3. 데이터 읽기/쓰기 : 결정된 정보를 토대로 스토리 엔진에서 필요한 데이터 가져오기실행계획이란?옵티마이저가 결정한 최적의 쿼리 실행방법실행계획 분석type : 각 테이블의 레코드를 어떤 방식으로 조회했는지오른쪽으로 갈수록 안좋음const : 일치하는 행이 하나, 조건절에 PK or Unique 컬럼 이용ref : PK or Unique 컬럼이 아닌 인덱스, 동등 조건으로 검색할 때range : ..
해당글은 우테코 테크톡 리뷰글입니다.https://www.youtube.com/watch?v=1pfTxp25MA8 물리 계층 - encoding & decoding 물리적으로 연결된 두 대의 컴퓨터가 데이터를 송수신할 수 있게 해주는 모듈. 디지털 신호 아날로그 신호 데이터 링크 계층 - framing, switching 같은 네트워크에 있는 컴퓨터들이 데이터들을 주고 받기 위해 필요한 모듈 네트워크 계층 - packet, routing, forwarding IP 주소를 이용해 서로 다른 네트워크에 속한 컴퓨터끼리 데이터를 주고 받게 해주는 모듈 전송 계층port 번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스에까지 데이터가 도달하게 하는 모듈 응용 계층 - encoding, decoding..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c7uU1i/btsKiu3Giek/97Vd77HOUtGiIXBWj48hT0/img.png)
해당 글은 우테코 테크톡을 리부한 글입니다.https://www.youtube.com/watch?v=era8W7q3CeQ낙관적 락1. 충돌이 발생하지 않는다고 가정2. version column을 추가3. DB에서 처음 읽어온 Version을 기억4. Update시 현재 DB의 버전가 다르다면 롤백비관적 락1. 충돌이 자주 발생할 것이라고 가정2. TABLE or ROW에 LOCK 걸고 트랜잭션 작업3. 다른 트랜잭션은 LOCK 획득까지 대기4. 해당 작업 완료 시 LOCK 해 비교 사용하는 경우충돌이 적으면 낙관적 락충돌이 많으면 비관적 락