Python学习---Django下的Sql性能的测试 - Go语言中文社区

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():

image

models.U.objects.all().select_related(‘userType’):

image

models.U.objects.all().prefetch_related('userType')

image

性能对比:

select_related > prefetch_related > all()

转载于:https://www.cnblogs.com/ftl1012/p/9417885.html

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_30376083/article/details/99085699
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 22:13:59
  • 阅读 ( 1218 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢