当前位置: 首页 > news >正文

【Django】性能优化-普通版

性能优化:

思路

通常无论是什么编程语言或者是什么框架,瓶颈通常都是数据库相关的操作;
大部分的查询慢的问题接口都是频繁查库、全盘扫描、多层for循环嵌套、高频查redis、序列化时多级外键;

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

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

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

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

主键使用MD5

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

Redis

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

定位性能低下的代码

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

time_start=datetime.now()
print(f”性能优化 编号1.2.3, datetime.now()-time_start)

相关文章:

  • C++ 网络编程(11)服务器逻辑层设计和消息完善
  • 7.7 Extracting and saving responses
  • 【医学目标检测】LN-DETR:一种基于多尺度特征融合的肺结节检测高效Transformer架构
  • Ceph分布式存储方案
  • Barcode解码 一维码、二维码识别 物流单号识别
  • ss928v100模型的导出、量化和转换
  • Kotlin的MutableList和ArrayList区别
  • Kotlin基础语法三
  • IntelliJ IDEA代码提示忽略大小写设置详解
  • 容器化包允许应用程序使用 Linux 容器
  • PyTorch:让深度学习像搭积木一样简单!!!
  • 中兴B860AV1.1_MSO9280_降级后开ADB-免刷机破解教程(非刷机)
  • IntelliJ IDEA 豆沙绿护眼色设置
  • ADB(Android Debug Bridge)Android官方调试工具及常用命令
  • 广告推荐系统中模型训练中模型的结构信息、Dense数据、Sparse数据
  • SQL ConcurrencyControl(并发控制)
  • 【机器学习-线性回归-7】中心极限定理在机器学习线性回归中的重要性
  • 从认识AI开始-----生成对抗网络(GAN):通过博弈机制,引导生成
  • 机器学习与深度学习19-线性代数02
  • 【unitrix】1.1 密封模式(srcsealed.rs)
  • 简单网站模板/广州市网络seo外包
  • 做网站 珠海/网站推广系统
  • 腾讯云服务器多少钱一个月/山西seo排名
  • 怎样做免费网站/seo优化师
  • 建设部网站怎么查询相关专业/公司官网怎么做
  • 深圳专业做网站建网站价格/百度推广效果不好怎么办