2010-06-20 8 views
5

개발 환경에서 쿼리를 실행할 때 필요한 인덱스로 index.yaml 파일을 업데이트해야합니다. 그것은 dev 서버 로그에서이 파일을 업데이트하지만 파일은 실제로 변경되지 않는다고 주장합니다. 무슨 일이 벌어 질지 몰라?index.yaml이 업데이트되지 않습니다.

INFO  2010-06-20 18:56:23,957 dev_appserver_index.py:205] Updating C:\photohuntservice\main\index.yaml 

확실하지 :

indexes: 

# AUTOGENERATED 

# This index.yaml is automatically updated whenever the dev_appserver 
# detects that a new type of query is run. If you want to manage the 
# index.yaml file manually, remove the above marker line (the line 
# saying "# AUTOGENERATED"). If you want to manage some indexes 
# manually, move them above the marker line. The index.yaml file is 
# automatically uploaded to the admin console when you next deploy 
# your application using appcfg.py. 

로그 내가 그것을 새로운 인덱스를 추가 기대할 수있는 점에서이 라인의 몇 가지있다 : 여기

전체 index.yaml 파일입니다 중요하지만 AppEngine SDK 1.3.4 버전을 사용하고 있습니다.

답변

7

합성 색인을 작성해야하는 쿼리를 실행하고 있는지 확인하십시오. 단일 속성에있는 모든 쿼리는 기본 인덱스와 함께 제공되며 index.yaml 항목은 필요하지 않으며 여러 속성에서 같음 필터 만 사용하는 쿼리는 필요하지 않은 병합 조인 전략을 사용하여 실행됩니다 사용자 정의 색인 작성.

NeedIndexErrors가 프로덕션 환경에서 발생하지 않는 한 (기존 인덱스에 대한 쿼리가 효율적으로 실행되지 않도록하는 메시지없이) 빈 index.yaml은 완벽하게 문제가되지 않을 수 있습니다.

+0

근접 쿼리를 수행 할 때 GeoModel을 사용할 때 긴 쿼리가 발생합니다. 이것은 어려운 오류가 아니며 느린 쿼리 일뿐입니다. 필자는 아무 것도 없기 때문에 누락 된 지표가 비난받을 것으로 판단됩니다. 어쩌면 GeoModel 자체의 결함입니다. (내 데이터 저장소에는 수백 개의 항목이 있습니다. 실제로는 쿼리가 느려지지 않아야합니다.) –

+1

@Joe dev_appserver의 성능은 라이브 서버의 성능을 나타내지 않습니다. 느린 쿼리 SDK의 프로덕션 환경이 아닐 수도 있습니다. 우리가 인덱스 생성 여부를 결정하기 위해 실행중인 쿼리 종류의 예를 보여 주어야합니다. –

2

an issue Linux의 Python SDK가 Windows에서 생성 된 index.yaml을 다시 생성하지 않습니다. 그것은 귀하의 사건과 관련이있을 수 있습니다,하지만 당신은 실제로 SDK에 queries that cause automatic index 창조물이없는 것 같습니다.

+0

고맙습니다. 그것은 리눅스에서도 마찬가지입니다 (Python SDK). 파일을 삭제하고 잘 작동;) – Gordak

관련 문제