我正在使用对Final
属性进行过滤的查询来搜索name
模型(在下面定义)。该查询大约需要2200毫秒才能在开发服务器上执行。我如何加快速度?这是一个AppStats screenshot。
我也过滤了created
字段,但这花费了10000毫秒以上的时间,因此我现在删除了该部分查询。
class Final(db.Model):
name = db.StringProperty() # 7 characters long
author = db.StringProperty()
rating = db.FloatProperty()
created = db.DateTimeProperty()
# this is the important part of the request (AppStats shows that these two
# queries take about 2200ms each).
query = Final.all()
query2 = Final.all()
query.filter('name = ', link1)
query2.filter('name = ', link2)
aa = query.fetch(10000)
bb = query2.fetch(10000)
最佳答案
尽管David的建议是好的,但在开发服务器上优化速度可能不是一个好主意。开发服务器的性能不能反映生产服务器的性能,并且基于开发服务器运行时的优化在生产中可能效果不佳。
通常,您可以假设开发服务器的性能会随着记录的添加而降低,而在生产环境中绝对不是这种情况,在生产环境中,查询运行时间仅取决于结果集的大小。如果您可以减少生产中样本数据集的大小,那么这可能是加快开发速度的最佳选择。
关于python - 缩短获取时间并改善此功能的性能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3301607/