- 애플리케이션에 잦은 데이터 업데이트가 필요한 경우 PostgreSQL이 더 나은 선택입니다. 그러나 데이터를 자주 읽어야 하는 경우에는 MySQL을 사용하는 것이 좋습니다
- 쓰기 성능 MySQL은 쓰기 잠금을 사용하여 실제 동시성을 구현합니다. 예를 들어 한 사용자가 테이블을 편집하는 경우 다른 사용자가 테이블을 변경하려면 작업이 완료될 때까지 기다려야 할 수 있습니다.
- 그러나 PostgreSQL에는 읽기-쓰기 잠금이 없는 다중 버전 동시성 제어(MVCC) 지원이 내장되어 있습니다. 따라서 쓰기 작업이 빈번하고 동시에 수행되는 경우 PostgreSQL 데이터베이스이가 더 잘 작동합니다.
- 읽기 성능 PostgreSQL은 데이터베이스에 연결된 모든 사용자에 대해 상당한 메모리 할당량(약 10MB)을 포함하는 새로운 시스템 프로세스를 생성합니다. 여러 사용자를 위해 확장하려면 메모리 집약적 리소스가 필요합니다.
- 반면 MySQL은 여러 사용자를 위해 단일 프로세스를 사용합니다. 따라서 MySQL 데이터베이스는 주로 데이터를 읽고 사용자에게 표시하는 애플리케이션에서PostgreSQL보다 성능이 뛰어납니다.
- https://aws.amazon.com/ko/compare/the-difference-between-mysql-vs-postgresql/
https://yahwang.github.io/posts/mysql-vs-postgres
MySQL과 PostgreSQL Query 차이점 정리 - YA-Hwang 기술 블로그
MySQL과 PostgreSQL Query의 차이점을 정리해본다.
yahwang.github.io
https://dunedine.tistory.com/21
[postgresql] SELECT의 기본 문법(2)
SQL과 데이터베이스 강의를 요약 · 정리한 글입니다. LIKE 연산자 LIKE는 패턴 비교 연산자이다. 조건을 'where절'에 전달하여 해당 조건에 맞는 행을 선택하는 용도로 사용된다. 정확한 일치가 아닌
dunedine.tistory.com
https://rianshin.tistory.com/68
[PostgreSQL] 기본 명령어
- DB 접속 # psql -U [DB사용자계정] [데이터베이스명] - Postgre SQL shell 진입시 # psql [스키마명] - DB 데이터베이스 출력 # \l or \list - DB 데이터베이스 선택 # \c [데이터베이스 명] - DB 데이터베이스 생성 #
rianshin.tistory.com
https://velog.io/@33bini/PostgreSQL-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4
[PostgreSQL] 기본 명령어
psql -? : 옵션 목록 및 도움말을 확인할 수 있습니다.\\l or \\list + +: 데이터베이스 목록을 보여줍니다. +를 붙여 자세한 내용을 확인할 수 있습니다.\\d or \\dt+ + : 테이블, 인덱스, 시퀀스, 뷰 목록을
velog.io
[DB/PostgreSQL] 예제로 PostgreSQL 기초문법 익히기
샘플데이터를 다운받아, psql로 Postgresql의 기초문법을 알아보자.dvdrental.tar 샘플데이터 다운로드데이터를 DB에 넣는 방법psql 사용pg_restore -U postgres -d test1 dvdrental.tardvdrental.tar 데이터
velog.io
여러 DB Instance들이 있고, 정보를 조회나 Query 실행 대상 DB Instance를 변경할 때 사용한다.
\c [DB Name] [Connection User}
현재 접속한 DB에서 여러 목록 정보를 조회(단, \list, \du는 접속한 DB와 무관하게 동작)할 때 사용
- \list(or \l) : 전체 Database Instance 목록
- \dt : 접속한 DB Instance의 Table 목록
- \ds : Sequence 목록
- \df : Function 목록
- \dv : View 목록
- \du : User 목록
\d [table name]
- \g : 방금 전에 실행했던 명령어를 실행. (↑ 키가 사용 가능한 경우 쓰일 일은 없다.)
'\g' 사용예 : 별다른 Query문 없이 이전에 실행한 Query와 동일한 Query가 실행된다.
- \s : 이전에 실행했던 명령어 전체 List 조회.
'\s' 사용예 : 이전에 실행 내역 전체 나열. 예에서는 마지막 2개의 실행 내역 포함해서 전체를 나열.
- \h : SQL command 관련 도움말
- \? : psql Command 관련 도움말
- \x : Column들을 한줄로 조회하기 힘들 때, Column을 세로로 배치해서 Display하는 기능 on/off.
'\x' 사용예 : Column이 H-Scroll 넘겨 생성될 때 유용. 단, 조회 목록 숫자를 조정할 필요가 있음.
- \a : Column Align on/off. Default는 Align On 상태.
'\a' 사용예 : Default는 Align On 상태. \a를 실행하면 Off 되면서 아래와 같이 Space에 의한 Align 기능이 사라짐.
- \H(대문자 유의) : Column 명과 결과 값을 HTML Table 형식으로 Display하는 기능 on/off
'\H' 사용예 : HTML의 <table> tag를 활용해서 출력하고 있다.
Query 실행 시간 Display 기능을 on/off 한다. 주로 Query Tuning할 때 실행 시간 확인시 사용한다.
길고 복잡한 Query같은 경우 외부 편집기에서 Query를 작성한 후에 실행하는 것이 편하기 때문에, 파일에 쓰여진 Query를 실행하는 명령어 이다.
/i [File Name]
'/i' 사용예 : test.sql에 있는 Query문을 psql 에서 실행 시킨 예.
- \e : \i가 이미 만들어진 File 안에 있는 Query를 수행하는데 비해, \e는 외부 편집기를 통해 Query를 작성해서 실행할 때 사용한다. Linux에서는 vi가, Window에서는 메모장이 Default Editor로 실행된다.
- \ef : \e와 유사하나 FUNCTION 편집할 때 사용한다는 측면에서 상이하다. (view를 편집할 때 사용하는 \ev도 있다.)
\e [file name]
\ef [function name]
Remark : '\e'의 뒤에 [File Name]을 생략하면 Buffer를 통해 작성하게 되고, 실행후에는 작성한 Query가 사라지게 된다. 만약 존재하지 않는 File Name을 사용하면 신규로 파일이 만들어 지는 것이 아니라 오류가 발생하며 종료된다.(*)
'\e' 사용예 : \e를 실행하면 vi editor로 전환되고, Query 작성 후에 :wq로 빠져나오면 psql에서 Query가 실행되는 예이다.
psql에서 shell command를 실행할 때 사용한다. 주로 화면을 지우거나 '\i', '\e' command를 위해 현재 경로에 있는 파일 List를 조회하거나 Path를 변경할 때 사용한다. (!뒤에 한 칸의 공백이 있음을 유의하자)
12. \q : psql 종료
https://donglnemo.tistory.com/54
[PostgreSQL] 기본 문법 구문 총정리 | SELECT, FROM, WHERE, ORDER BY, ALTER TABLE, HAVING | 컬럼 기본 조회, Join,
구글 데이터베이스, 구글 클라우드 데이터베이스, 무료 클라우드 데이터베이스 등 사용해서 데이터 끌어오는 분들 많으시죠? 보통 Data Analyst나 Data Scientist 등 직무로 취업을 희망하시는 분들 또
donglnemo.tistory.com
'Wecode -기업협업 인턴 (부트캠프) > 기업협업 독학, 공부' 카테고리의 다른 글
Query Builder (with 제품목록 페이지) ** (1) | 2023.11.01 |
---|---|
typescript 구조 문법 (0) | 2023.11.01 |
nest.js: useGuards, useInterceptors (0) | 2023.10.31 |
@nestjs/swagger 패키지,, @apiquery, @apiparams 데코레이터, 언제 @apiquery를 쓰고 언제 @apiparams를 쓰니 (0) | 2023.10.31 |
NestJS (0) | 2023.10.31 |