2
我使用碎片建立一个用于监控MongoDB用户数据的管理网站。我的查询正在运行,但速度很慢..加载HTML大约需要3〜5秒。烧瓶查询Mongdb的速度很慢
我测试了插入查询,它的工作时间不到0.5秒。我不认为这是服务器问题。
烧瓶码A(它使用pymongo连接的MongoDB)
@app.route('/admin/dashboard/phonebook')
def admin_phonebook():
collection = db.phonebook
cnt = collection.find().count()
result = collection.find()
for i in range(cnt):
flash(result[i]['name'],'name')
flash(result[i]['phone'],'phone')
return render_template('admin/dashboard/phonebook.html',length = cnt)
烧瓶代码B(它是相同的速度,以显示像上面码结果)
@app.route('/admin/dashboard/phonebook_register')
def admin_phonebook_register():
collection = db.phonebook
result = collection.find().sort('reg_date',-1)
cnt = collection.find({},{'_id':0}).count()
for i in range(cnt):
flash(result[i]['name'],'name')
flash(result[i]['phone'],'phone')
return render_template('admin/dashboard/phonebook_register.html',length = cnt)
这是因为我统计整个数据库很慢?电话簿数据表只有20个结果。
有多少条目?这是拉动整个收藏。你的数据库在哪里?你的应用程序在哪里托管?你在运行什么样的硬件。所有需要考虑的事项以及您在问题中未提供的信息。 –
@NeilLunn我添加了更多关于情况的信息。我不认为这是服务器问题。 – Jake
我很好奇为什么你需要在这个“服务”层功能中的“for”循环,你不能只在整个结果对象中传递/绑定/模型,并让它由你的模板渲染? –