2010-06-20 12 views
5

Espero que el archivo index.yaml se actualice con los índices necesarios cuando ejecuto consultas en mi entorno de desarrollo. Afirma que está actualizando este archivo en el registro del servidor de desarrollo, pero el archivo en realidad no cambia. ¿Alguna idea de lo que puede estar pasando?index.yaml no está actualizando

Aquí es todo el archivo 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. 

El registro tiene varias de estas líneas en los puntos en los que sería de esperar que añadir un nuevo índice:

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

Seguro si es importante, pero estoy usando la versión 1.3.4 de AppEngine SDK.

Respuesta

7

¿Está seguro de que está ejecutando consultas que requieren la creación de índices compuestos? Cualquier consulta que se encuentre en propiedades individuales se servirá con los índices predeterminados, y no necesitará entradas index.yaml, y cualquier consulta que solo use filtros de igualdad en múltiples propiedades se ejecutará utilizando una estrategia merge-join que no requiere construyendo índices personalizados.

A menos que obtenga NeedIndexErrors lanzados en producción (sin un mensaje sobre los índices existentes que no permiten que la consulta se ejecute de manera eficiente), su index.yaml vacío puede estar perfectamente bien.

+0

Lo que obtengo son largas consultas cuando uso GeoModel para hacer una consulta de proximidad. No es una falla difícil, solo una consulta lenta. Sospecho que los índices faltantes podrían ser los culpables ya que no tengo ninguno. Tal vez es un error con GeoModel en sí ... (Mi DataStore tiene cientos de elementos. No hay consultas en realidad lentas.) –

+1

@Joe El rendimiento en el dev_appserver no es representativo del rendimiento en el servidor en vivo, una consulta lenta en el SDK puede no estar en producción. Debe mostrarnos un ejemplo del tipo de consulta que está ejecutando para que le digamos si debería generar índices o no. –

2

Hay an issue que Python SDK en Linux no regenera index.yaml que se creó en Windows. Puede estar relacionado con su caso, pero parece que realmente no tiene la creación de queries that cause automatic index en SDK.

+0

Gracias. Parece ser el caso en Linux también (Python SDK). Eliminado el archivo y funcionó bien;) – Gordak

Cuestiones relacionadas