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」循環,你不能只在整個結果對象中傳遞/綁定/模型,並讓它由你的模板渲染? –