인프런 커뮤니티 질문&답변

코린이님의 프로필 이미지
코린이

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

Relation 포함한 쿼리 작성하기

데이터베이스의 작동 방식

작성

·

126

0

강의 내용과는 조금 별개로 궁금한 점이 있어서 질문드립니다.

지금 테스트환경에서는 userModel을 한두개 생성해서 테스트하지만, 실제로 네임드 앱들은 유저의 수가 수억개씩 존재하는데, 그렇게되면 데이터베이스가 특정 PostModel에 해당하는 하나의 user객체를 식별하는데 오랜 시간이 걸리지 않나요?

그 시간 차이가 미비해서 따로 신경쓰지 않아도 되는건지, 혹은 컴퓨터만의 쿼리 탐색 방법이 따로 존재하는건지 궁금합니다!

답변 1

1

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

데이터베이스 효율을 올리는 방법은 다양합니다.

데이터베이스 자체에서 할 수 있는 가장 좋은 방법은 index를 이용하는겁니다.

강의에서 따로 멘션하지는 않았지만 primary key도 index의 일종으로 select 오퍼레이션을 매우 빠르게 할 수 있도록 해줍니다. 다행이도 index는 primary key 외에 어떤 칼럼이든 적용 할 수 있어서 원하는 쿼리의 속도를 최대치로 올릴 수 있습니다.

부가적으로는 캐싱을 할 수 있습니다 (redis등 사용).

감사합니다!

코린이님의 프로필 이미지
코린이

작성한 질문수

질문하기