저번 글에서 Read Commited에 대해서 알아보았다. https://vixxcode.tistory.com/236 [PostgreSQL] Read Commited 에 대해서 기본 내용 SQL 표준 안에서는 네 종류의 트랜잭션 격리 수준을 정의하고 있다. 격리수준 Dirty Read Nonrepeatable Read Phantom Read Serialization Anomaly PostgreSQL 지원 Read uncommitted 허용 가능 가능 가.. vixxcode.tistory.com 이번 글에서는 남은 트랜잭션 고립 레벨인 Repeatable Read, Serializable에 대해서 알아보는 시간을 가져보도록 해보겠습니다. 1. Repeatable Read Isolation Level 반복적..
기본 내용 SQL 표준 안에서는 네 종류의 트랜잭션 격리 수준을 정의하고 있다. 격리수준 Dirty Read Nonrepeatable Read Phantom Read Serialization Anomaly PostgreSQL 지원 Read uncommitted 허용 가능 가능 가능 X Read committed 불가능 가능 가능 가능 O Repeatable read 불가능 불가능 허용, PG에서는 없음 가능 O Serializable 불가능 불가능 불가능 불가능 O PostgreSQL에서는 3개의 isolation level을 지원한다. Read uncommitted는 Read committed 처럼 작동한다. PostgreSQL의 동시성 제어의 방식으로 인해 3개의 isolation level을 지원하..
1. EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS, FORMAT JSON) 조회를 하기 전에 위의 제목을 적어주면 상세한 기록이 나온다. 2. 기본 세팅 오늘은 인덱스 구현 방식과 조회를 어떻게 하느냐에 따라 성능의 극대한 차이를 보여주는 예제를 보여주도록 하겠습니다. 우선 기본 모델부터 소개 1. Issue class Issue(models.Model): class Meta: indexes = [ models.Index(fields=['model_type', 'is_complete', 'id'], name='issue_type_complete_id'), ] model_type = models.IntegerField(default=1) is_complete = models...
tuple 또는 item 은 row와 같은 뜻 relation은 table과 같은 뜻 filenode는 테이블 또는 인덱스를 나타내는 id block 또는 page는 같은 뜻으로 테이블에 저장되는 8KB 세그먼트 정보를 나타낸다. heap 또는 heap file은 정렬되지 않은 많은 사이즈의 레코드를 의미한다. CTID는 테이블 내의 특정 row의 물리적 위치를 나타낸다. OID는 오브젝트 식별자로서 역할 PostgreSQL database location select oid, datname from pg_database; PostgreSQL table location 1GB보다 더 커지게 되면 기가 세그먼트 단위로 쪼개지게 된다. 첫 번째는 기존과 같은 위치에 존재하고, 부속물들은 뒤에 suffix가 ..
공부하면서 json field을 쓰는 것을 보고 과연 join과 비교했을 때 얼마나 성능에 대한 이점이 있을까 고민을 하다가 한 번 실험해보기로 했습니다. framework: django database: postgresql 13 python version : 3.9 computer: macbook-pro 16inch m1 max 제가 테스트한 환경입니다. 1. Account class Account(BaseModel): name = models.CharField(max_length=25) objects = models.Manager() def __repr__(self): return f'id : {self.id}, name: {self.name}' 정규화 모델로 쓸 유저 모델입니다. 단순하게 이름 필드..
: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://apt.postgresql.org/pub/repos/apt focal-pgdg InRelease' doesn't support architecture 'i386' sudo apt-get update 할 때 위와 같은 에러가 난다면 sudo -H gedit /etc/apt/sources.list.d/pgdg.list http://apt.postgresql... 이러한 글이 나올텐데 deb [arch=amd64] http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main 이렇게 바꿔주자 sudo apt-get ..
- Total
- Today
- Yesterday
- docker
- headers
- ubuntu
- 백준
- dockerignore
- PostgreSQL
- Python
- 면접
- Linux
- postgres
- docker-compose
- Java
- BFS
- Collections
- 자바
- 프로그래머스
- env
- 그래프
- 카카오
- 알고리즘
- thread
- setattr
- Spring
- Pattern
- django
- DRF
- 2021 KAKAO BLIND RECRUITMENT
- Celery
- 파이썬
- Command Line
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |