2012-11-18 3 views
21

열거 형 값을 MongoDB 컬렉션에 저장하려고합니다. 문자열로 효과적으로 저장할 수 있습니까? enum 값과 비교하여 인덱스 성능에 영향을 줍니까? Mongo 인덱서는 문자열 값으로 고정 된 옵션이 몇 개 밖에없는 경우 문자열 인덱스를 최적화합니까? 정렬 된 정수로 인덱스를 쿼리하는 것과 비슷한 속도를 얻을 수 있습니까?MongoDB의 열거 형

답변

20

문자열로 MongoDB에 열거 형 값을 저장하는 것이 완벽하게 가능합니다. 예를 들어 필드를 인덱싱하면 성능이 인덱스 된 정수 쿼리와 비슷할 것으로 예상됩니다. 확실히 정수를 사용하는 것보다 표현력이 좋습니다.

유일한 단점은 열거 형 문자열이 다소 길면 더 많은 공간을 차지할 것이지만 매우 사소한 걱정거리입니다.

+1

누구도 이와 관련된 성능 측정을 한 적이 있습니까? 문자열 비교는 정수 비교보다 느립니다. 인덱스가 필요한 비교 수를 크게 줄이더라도 쿼리 및 삽입 및 인덱스 (재) 빌드에 영향을 줄 수 있습니다. 벤치 마크가없는 경우 성능에 대해 어떠한 주장도하지 마십시오. –