【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)
相关推荐
江沉晚呤时2 小时前
在 C# 中调用 Python 脚本:实现跨语言功能集成
python·microsoft·c#·.net·.netcore·.net core
电脑能手3 小时前
如何远程访问在WSL运行的Jupyter Notebook
ide·python·jupyter
Edward-tan3 小时前
CCPD 车牌数据集提取标注,并转为标准 YOLO 格式
python
老胖闲聊4 小时前
Python I/O 库【输入输出】全面详解
开发语言·python
倔强青铜三4 小时前
苦练Python第18天:Python异常处理锦囊
人工智能·python·面试
倔强青铜三4 小时前
苦练Python第17天:你必须掌握的Python内置函数
人工智能·python·面试
迷路爸爸1804 小时前
让 VSCode 调试器像 PyCharm 一样显示 Tensor Shape、变量形状、变量长度、维度信息
ide·vscode·python·pycharm·debug·调试
张璐月5 小时前
mysql的性能优化:组提交、数据页复用、全表扫描优化、刷脏页
数据库·mysql·性能优化
咸鱼鲸5 小时前
【PyTorch】PyTorch中的数据预处理操作
人工智能·pytorch·python
Dxy12393102165 小时前
Python ExcelWriter详解:从基础到高级的完整指南
开发语言·python