정규식
/abc/ 의 형식으로 // 사이에 작성하는데
/abc/라고 작성하면 abc라는 문자가 들어있냐 라는 뜻이라고 한다.
그런데 여기서 문제는
게시물이 1억개 일때 // 이것들을 다 찾으려면 시간이 오래 걸린다는 것이다
그래서
Binary Search 방식을 사용한다.
예를들어
1~100 중의 한 숫자를 찾을때
1인가요? -> NO
2인가요? -> NO
3인가요? -> NO
......
이렇게 하나씩 물어보는게 아니라
50이상인가요? -> YES
75이상인가요? -> YES
87이상인가요? -> NO
...
이렇게 범위를 절반씩 쪼개서 찾는 방법이라고 함
바이너리서치를 적용하려면
데이터가 미리 숫자순으로 정렬이 되어 있어야 한다.
몽고디비는 기본적으로 _id 순으로 정렬이 되어있다.
그래서 _id로 찾을때 바이너리 서치 해줌
그런데 "제목"을 검색할 때는 미리 정렬되어있는 상태가 아니기 때문에 가나다 순으로 미리 정렬을 해둬야 함
그 기능이 바로 인덱싱(indexing) 이다.
cloud.mongodb.com 에 들어가서
검색하고 싶은 컬렉션의 indexes 탭으로 이동
우측의 create index를 클릭한다
제목 을 문자 순서로 검색할테니 위와 같이 작성한 뒤 Review 클릭
뭐 이런 항목이 하나 생성된다.
다음 포스팅에 계속됨
'WEB' 카테고리의 다른 글
Node.js로 웹서비스 만들기 21일차 (0) | 2023.03.17 |
---|---|
Node.js로 웹서비스 만들기 20일차 (0) | 2023.03.15 |
Node.js로 웹서비스 만들기 19일차 (0) | 2023.03.06 |
Node.js로 웹서비스 만들기 18일차 (0) | 2023.03.03 |
Node.js로 웹서비스 만들기 17일차 (0) | 2023.02.22 |