Django博客archives归档页面查询优化

前段时间抽空吧旧博文导入到django博客中来,并简单添加了文章分页处理。(当前django3.0文档都已经在官网上线,django迭代速度还是非常快的)

django博客刚开始的时候只有10来篇文章,但导入旧博文之后一共有360+文章数,而且归档页没有做分页Ajax加载,都是一次性查询出来的。

下面是优化前执行的查询语句:

effective = {'status': 'published', 'post_type': 'post'}
object_list = Article.objects.filter(**effective).order_by('-created') 

优化前加载页面需要的时间:

01.jpg




下面是优化后执行的查询语句:

effective = {'status': 'published', 'post_type': 'post'}
object_list = Article.objects.filter(**effective).only('created', 'author', 'title').select_related('author').order_by('-created')

优化后效果如下(客户端服务端均无缓存的情况下):

02.png


优化后效果如下(客户端服务端均有缓存的情况下):

03.png


效果还是立竿见影的。

关于django查询优化可查看官方文档:DB optimization

相关阅读RelatedRead

将WordPress博文迁移到django博客

django-idcops 数据中心运维管理平台

Django中利用xlwt将Model中的数据写入excel表格

无心朝政,列表功能分析下

Windows批处理批量删除redis键值

Django App通用admin.py

从wordpress到Django

暂无评论添加评论