복붙노트

[MONGODB] MongoDB를, 인덱스 필드에 정규 표현식에 의해 쿼리의 성능

MONGODB

MongoDB를, 인덱스 필드에 정규 표현식에 의해 쿼리의 성능

나는 (50K가 계정의 MongoDB의 컬렉션) 이름으로 계정을 찾으려면

일반적인 방법 : 우리는 문자열 찾기

db.accounts.find({ name: 'Jon Skeet' })  // indexes help improve performance!

어떻게 정규 표현식에 대한? 그것은 비용이 많이 드는 작업인가?

db.accounts.find( { name: /Jon Skeet/ }) // worry! how indexes work with regex?

편집하다:

WiredPrairie에 따르면 : 검색 인덱스에 정규식의 MongoDB를 사용하는 접두사 (예 : /^prefix.*/) :

db.accounts.find( { name: /^Jon Skeet/ })  // indexes will help!'

MongoDB를 $ 정규식

해결법

  1. ==============================

    1.실제로 설명서에 따라,

    실제로 설명서에 따라,

    http://docs.mongodb.org/manual/reference/operator/query/regex/#index-use

    다른 말로:

    / 존 소총 / 정규식의 경우, 몽고 전체 빠르게 수집 스캔보다 수있는 일치하는 문서를 가져옵니다 다음 인덱스에서 키를 검색합니다.

    / ^ 존 소총 / 정규식 들어 몽고 빠르게 될 지수 정규식, 시작 단의 범위를 스캔한다.

  2. from https://stackoverflow.com/questions/17501798/mongodb-performance-of-query-by-regular-expression-on-indexed-fields by cc-by-sa and MIT license