TIL/DB5 [Oracle] APPEND 힌트와 Direct Load Insert APPEND Hint란? 공식 문서의 APPEND Hint 정의 💡 The APPEND hint instructs the optimizer to use direct-path INSERT with the subquery syntax of the INSERT statement. Conventional INSERT is the default in serial mode. In serial mode, direct path can be used only if you include the APPEND hint.Direct-path INSERT is the default in parallel mode. In parallel mode, conventional insert can be used only if you spe.. TIL/DB 2024. 2. 14. [DB] soft delete vs hard delete (feat. isDeleted) 의문이 생긴 배경과 의문 유저간의 가족구성을 할 때 한명이 가족을 만든 후, 만료 기한은 있지만 초대 인수는 제한이 없는 가족 초대 코드를 발급하고 나머지 가족 구성원들이 이 초대 코드를 입력하여 가족에 join하는 방식으로 구현하려고 할 때 생긴 의문이다 위의 가족 구성의 경우에는 최초의 한번 혹은 흔하지 않게 사용할 기능이기에 초대 코드에 대한 부분을 DB에 저장해도 크게 문제가 되지 않을 거란 생각이 드는데, 만약 이러한 특정 임시 코드를 발급해주어야하는 일이 수시로 많은 유저가 사용하는 기능이라면 임시코드를 발급한 것을 매번 DB에 저장하고 만료되면 삭제를 하던 isDeleted 컬럼을 업데이트하던 비효율적인 느낌인데 이러한 경우에 어떻게 효율적으로 만들 수 있을까?? 사실 이러한 의문은 이상한 .. TIL/DB 2022. 9. 5. [DB] Delete vs Truncate vs Drop 아마 DB 시스템에 따라 다를 수도 있을 것이라 생각되지만 보편적으로 DELETE 데이터는 지워지지만 테이블 용량이 줄어들지 않음 ( 데이터 적재하던 storage 반납 X) 원하는 데이터만 지울 수 있음 자동 commit이 아니기 때문에 커밋전이면 삭제 후 롤백 가능 TRUNCATE 용량이 줄어들음 ( 최초 할당 storage 남기고, 데이터 적재하던 storage 반납) 인덱스 삭제 테이블은 삭제되지 않고, 데이터만 삭제 자동 commit이기에 삭제 후 롤백 불가 DROP 테이블 전체를 삭제 자동 commit이기에 롤백 불가 TIL/DB 2022. 8. 17. [DB] Postgres 명령어 내가 실제로 써본 명령어를 기록하고자 한다 ( 쓴것은 다시 쓸 확률이 높기에, feat.시간 지역성) sudo -u postgres psql postgres (기본으로 있는 유저)로 psql에 접속하는 명령어 나의 경우 psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432 뜰 때 사용하였다 \du # list of roles \l # list of databases \c # DB이름 데이터베이스 'DB이름' 접속 \dt #list of relations, 테이블들 나옴 select * from 테이블이름 # 테이블 '테이블이름' 전체 조회 truncate table 테이블이름 # 테이블 '테이블이름' truncate .. TIL/DB 2022. 8. 17. [DB] 외래키를 사용해? 말어? 이번 프로젝트에서 DB를 설계하고 구현하면서 외래키를 사용하지 않지만 외래키의 역할을 하는 컬럼을 만들어서 테이블을 구성하였는데, 이에 대한 고민들 적어보고자 한다. 서비스에서 여러 소셜 로그인을 지원하고자 하는데 같은 유저 A가 있을 때 나는 유저의 특정 정보는 유저 엔티티에 두고 카카오 로그인을 사용한다면 카카오 유저를 만들어 유저와 연결하고 구글 로그인을 사용한다면 구글 유저를 만들어 유저와 연결하는 방식으로 DB를 구성하고자 했다. 그 중 유저와 카카오 유저의 케이스를 들고 와서 처음 말했던 외래키에 대한 이야기를 하고자 한다. // 유저 엔티티 @Entity() export class User { @PrimaryGeneratedColumn() id: number; @Column({ nullabl.. TIL/DB 2022. 7. 16. 이전 1 다음 반응형