Python学习---Django下的Sql性能的测试
安装django-debug-tools
Python学习---django-debug-tools安装
性能测试:
settings.py
INSTALLED_APPS = [ ... 'app01', # 注册app ] STATICFILES_DIRS = (os.path.join(BASE_DIR, "statics"),) # 现添加的配置,这里是元组,注意逗号 TEMPLATES = [ ... 'DIRS': [os.path.join(BASE_DIR, 'templates')], ]
urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from app01 import views
from django.conf.urls import include
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
url('index/', views.index)
]
if settings.DEBUG:
import debug_toolbar
urlpatterns += [
url(r'^__debug__/', include(debug_toolbar.urls)),
]
views.py
from django.shortcuts import render, redirect, HttpResponse
from app01 import models
def index(request):
v = models.U.objects.all().prefetch_related('userType')
return render(request, 'index.html', {"v": v})
templates/index.html
<!DOCTYPE html>
<html lang="en">
<head> <meta charset="UTF-8"> </head>
<body>
{% for item in v %}
{{ item.name }} {{ item.email }} {{ item.userType.caption }}<br>
{% endfor %}
</body>
</html>
初始化数据库
python manage.py makemigrations python manage.py migrate
页面显示;
models.U.objects.all():
models.U.objects.all().select_related(‘userType’):
models.U.objects.all().prefetch_related('userType')
性能对比:
select_related > prefetch_related > all()
作者:小a玖拾柒
-------------------------------------------
个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒有到最後~
本文版权归作者【小a玖拾柒】和【博客园】共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!




浙公网安备 33010602011771号