python - 如何查看django对象查询速度
问题描述
我想在具有不同功能的 django 模型中测试不同的文本搜索方式。有没有办法在控制台或模板中打印查询数据库需要多长时间?在此先感谢(可能没有必要,但仍然:这些是我要测试速度的 3 个功能。)
def first_results(request):
if request.method == 'POST':
query = request.POST.get('query')
results = Page.objects.search(query)
return render(request, 'results.html', {'results': results})
else:
return render(request, 'home.html')
def second_results(request):
if request.method == 'POST':
query = request.POST.get('query')
results = Page.objects.annotate(search=SearchVector('title', 'content')).filter(
search=query
)
return render(request, 'results.html', {'results': results})
else:
return render(request, 'home.html')
def third_results(request):
if request.method == 'POST':
query = request.POST.get('query')
results = Page.objects.filter(
Q(title__contains=query) | Q(content__contains=query)
)
return render(request, 'results.html', {'results': results})
else:
return render(request, 'home.html')
解决方案
如果您想要更好地分析查询,我建议您使用Django Debug Toolbar,
如果您想要一些简单的东西,请在控制台中使用Django DB Logging 。遵循本指南。
推荐阅读
- javascript - 如何根据使用状态创建的状态显示过滤列表?
- sh - sh 文件中的猫不回显空行
- powershell - 来自 IF 语句内函数内的 Tee-Object 命令的 PowerShell 控制台输出
- python-3.x - 除了 bcrypt 之外,您会推荐我在 Python3 中使用哪些可以生成随机盐的散列算法?
- webview - GTK 窗口上的 Chromium 内容模块(内容外壳)Webview
- javascript - 按年份过滤 json 数据
- c++ - 如何在多维 R 数组上加速 Log-sum-exp 函数?
- ios - 无法使用 Swift 解码 JSON 响应
- javascript - 自定义函数不存在引用 - 谷歌脚本
- c - “prctl(PR_SET_PDEATHSIG, SIGKILL)”是怎么做的