【Django】性能优化-普通版

性能优化:

思路

通常无论是什么编程语言或者是什么框架,瓶颈通常都是数据库相关的操作;

大部分的查询慢的问题接口都是频繁查库、全盘扫描、多层for循环嵌套、高频查redis、序列化时多级外键;

多用O(1)查找复杂度的数据

合理使用dict、set等查询复杂度是O1的数据类型初始化数据,避免使用for循环套for循环查找数据效率低下的情况,使用 x in [1,2,3...]效率低,改成set

数据库避免使用查询效率低的字段

数据库使用JSON、二进制文件会导致查询效率变低

主键使用MD5

这个会慢,因为自增主键是使用二分法查找的,而md5就会全盘扫描

Redis

尽量一次请求只查1次redis,Redis查询太快会缓存击穿;

定位性能低下的代码

具体定位:使用如下代码,每个可疑方法上都有编号,找到后再将编号加.多一位

python 复制代码
time_start=datetime.now()
print(f"性能优化 编号1.2.3", datetime.now()-time_start)
相关推荐
Yorlen_Zhang2 小时前
Python Tkinter Text 控件完全指南:从基础编辑器到富文本应用
开发语言·python·c#
HAPPY酷3 小时前
C++ 和 Python 的“容器”对决:从万金油到核武器
开发语言·c++·python
gpfyyds6663 小时前
Python代码练习
开发语言·python
aiguangyuan5 小时前
使用LSTM进行情感分类:原理与实现剖析
人工智能·python·nlp
小小张说故事5 小时前
BeautifulSoup:Python网页解析的优雅利器
后端·爬虫·python
luoluoal5 小时前
基于python的医疗领域用户问答的意图识别算法研究(源码+文档)
python
Shi_haoliu5 小时前
python安装操作流程-FastAPI + PostgreSQL简单流程
python·postgresql·fastapi
野生技术架构师5 小时前
SQL语句性能优化分析及解决方案
android·sql·性能优化
ZH15455891315 小时前
Flutter for OpenHarmony Python学习助手实战:API接口开发的实现
python·学习·flutter
小宋10215 小时前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python