【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)
相关推荐
取名真是7 分钟前
Python 算法知识点从基础到进阶
开发语言·python·算法
梦想不只是梦与想14 分钟前
PyTorch、CPU、GPU、CUDA
人工智能·pytorch·python·深度学习·机器学习·cuda
数字融合16 分钟前
透明化视频孪生危化安全管控解决方案
人工智能·python·安全
别问!问就是全会2 小时前
Jupyter Notebook 安装包下载|单元格分块运行,图表直接内嵌
ide·python·其他·jupyter
深蓝AI2 小时前
Python 缓存击穿实测:16 个并发请求如何只回源 1 次
python
benchmark_cc2 小时前
用 00700.HK 做港股行情清洗:字段核对、校验与个人量化开发实践
python·数据分析·pandas·量化交易·股票数据·quantdash
zh路西法3 小时前
【PACE】面向永磁同步电机PMSM 执行器的参数辨识与能耗感知强化学习 Sim-to-Real
python·cma-es·pmsm·sim-to-real·issac·pace
后台模板学习4 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
2601_967987374 小时前
如何运行 Python 代码
python·最佳实践·脚本文件·代码运行·交互式环境
WiKiLeaks_successor4 小时前
重构Time库的抽象设计
python·重构