내 앱 사용자가 검색 할 수 있어야하는 위치의 테이블이 있습니다. "위도/경도 (GIST 사용)뿐만 아니라 일반 필드도 포함하는 PostgreSQL 색인을 만드는 방법
select * from job_locations
where earth_box(ll_to_earth(51.5, -0.085), 5000) @> ll_to_earth(latitude, longitude)
and earth_distance(ll_to_earth(51.5, -0.085), ll_to_earth(latitude, longitude)) < 5000;
그리고이 같은 인덱스 :
나는이 같은 쿼리를 사용하고 있습니다 그러나
CREATE INDEX job_locations_lat_lng on job_locations USING gist(ll_to_earth(latitude, longitude));
을,이 모든 테이블이있는 멀티 테넌트 (multi-tenant) 시스템이다" tenant_id "필드 및 우리 항상 그걸로 필터. 그래서 이상적으로는 인덱스에 tenant_id와 ll_to_earth (lat, lng)를 모두 가질 수 있습니다. 아마도 훨씬 더 빨리 검색해야합니다.
이것이 가능합니까? 해당 색인은 어떻게 만듭니 까?
감사합니다.
다니엘은
빠른 질문은, '요점 (ll_to_earth()'공간 인덱스 또는 포스트 그레스의 일반적인 인덱스입니까? –