我的 Google AppEngine 应用中的查询性能不佳。这就是我正在做的事情:
import models
from time import time
parent = models.ParentEntity.gql("WHERE string_property = :1", "a guid").get()
start = time()
data_rows = []
children = models.ChildEntity.gql("WHERE ANCESTOR IS :1", parent.key())
for child in children.run():
data_rows.append(child.data)
print "Loaded %s rows in: %s" % (len(data_rows), time() - start)
我在机器上的交互式控制台中运行了 3 次,输出如下:
Loaded 653 rows in: 8.18052411079
Loaded 653 rows in: 5.93607997894
Loaded 653 rows in: 9.97486710548
5-9秒加载653行正常吗?这是在开发Web服务器上,在真实服务器上会更好吗?我知道 memcache 并且已经在使用它,但是在我确实需要填充缓存的时候,我怎样才能让事情变得更快呢?