Docs Menu
Docs Home
/ /

2D 인덱스에 대한 위치 정밀도 정의

2d 인덱스 에서 위치 정밀도는 인덱싱된 데이터를 저장 하는 데 사용되는 geohash 값의 크기(비트)로 정의됩니다. 기본값 으로 2d 인덱스는 26 비트의 정밀도를 사용하며, 이는 약 2 피트(60 센티미터)에 해당합니다.

위치 정밀도는 삽입 및 읽기 작업의 성능에 영향을 미칩니다.

기본 정밀도를 변경하려면 2D 인덱스를 생성할 때 bits 값을 지정합니다. 1에서 32 사이의 bits 값을 지정할 수 있습니다.

db.<collection>.createIndex(
{ <location field>: "2d" },
{ bits: <bit precision> }
)

위치 정밀도는 쿼리 성능에 영향을 미칩니다.

  • 정밀도가 낮을수록 삽입 및 업데이트 작업의 성능이 향상되고 스토리지 사용량이 줄어듭니다.

  • 쿼리가 인덱스의 더 작은 부분을 스캔하여 결과를 반환하기 때문에 정밀도가 높을수록 읽기 작업의 성능이 향상됩니다.

위치 정밀도는 쿼리 정확도에 영향을 주지 않습니다. 그리드 좌표는 항상 최종 쿼리 처리에 사용됩니다.

contacts 컬렉션을 생성합니다.

db.contacts.insertMany( [
{
name: "Evander Otylia",
phone: "202-555-0193",
address: [ 55.5, 42.3 ]
},
{
name: "Georgine Lestaw",
phone: "714-555-0107",
address: [ -74, 44.74 ]
}
] )

address 필드에는 레거시 좌표 쌍이 포함되어 있습니다.

address 필드에 2D 인덱스를 만듭니다. 위치 정밀도를 32 비트로 지정합니다:

db.contacts.createIndex(
{ address: "2d" },
{ bits: 32 }
)

2D 인덱스를 사용하여 근접 쿼리와 같은 위치 데이터에 대한 계산을 수행할 수 있습니다.

돌아가기

만들기

이 페이지의 내용