2010-06-20 67 views
5

我希望index.yaml文件在我的開發環境中運行查詢時用必要的索引進行更新。它聲稱它正在更新dev服務器日誌中的這個文件,但該文件實際上並沒有改變。任何想法可能會發生什麼?index.yaml沒有更新

這裏是整個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. 

日誌有這幾條線在那裏我希望它增加一個新的指數點:

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

不知道如果它很重要,但我使用AppEngine SDK的1.3.4版本。

回答

7

您確定您正在運行需要構建複合索引的查詢嗎?在單個屬性上的任何查詢都將與默認索引一起提供,並且不需要index.yaml條目,並且任何僅在多個屬性上使用相等過濾器的查詢將使用不需要的合併連接策略執行建立自定義索引。

除非你得到生產中拋出的NeedIndexErrors(沒有關於現有索引的消息,不允許查詢有效運行),否則你的空index.yaml可能會非常好。

+0

當我使用GeoModel進行鄰近查詢時,我得到的是很長的查詢。這不是一個艱難的失敗,只是一個緩慢的查詢。我懷疑缺少索引可能是我的責任,因爲我沒有。也許這是GeoModel本身的一個缺陷......(我的DataStore有幾百個項目,沒有查詢實際上應該很慢)。 – 2010-06-20 19:31:27

+1

@Joe dev_appserver上的性能不能代表活動服務器上的性能 - 一個緩慢的查詢在SDK上可能沒有生產。您需要向我們展示您正在執行的查詢類型的示例,以確定它是否應該生成索引。 – 2010-06-21 08:37:03

2

an issue Linux上的Python SDK不會重新生成在Windows上創建的index.yaml。這可能與您的案例有關,但您似乎並沒有在SDK中創建queries that cause automatic index

+0

謝謝。在Linux上似乎也是如此(Python SDK)。刪除該文件,它工作得很好;) – Gordak 2016-05-19 09:43:04