html加载后端数据较慢问题记载


标题: html加载后端数据较慢问题记载
日期: 2024-04-06 22:29:00
标签: [html, flask]
分类: [Python, Flask]

网站页面最近加载很慢,不知道为什么,这里记录一下,一步一步查问题的思路。

说下环境

python3.8
flask2.3.3
mysql5.7

问题

刷新网页https://lezhifu.cc/admin/qrcode_list_op时,需要7s多的时间

F12查哪里慢

F12查看了浏览器的Network,看看到底加载什么内容时很慢
slow

点进去,看到waiting for server response这里花了7s多,为啥呢?
timeline

查接口为什么慢

flask_interface

第1步分页查询,每次查10条,这里应该不慢

第2步根据分页查询结果进行循环,然后根据id查询payment表,这里可能比较慢,是不是可以改成两表关联形式呢,直接一次性查出来。

那改吧,改成join,这里的需求是join、查询指定字段、分页,如下是flask的查询语句:

使用join方法根据payment_id连接QRCode和Payment表

joined_query_pagination = db.session.query(
QRCode.user_id,
QRCode.content_id,
QRCode.header,
QRCode.payment_id,
QRCode.create_time,
Payment.payment_amount,
QRCode.status
).join(Payment, QRCode.payment_id == Payment.payment_id)
.paginate(page=page, per_page=per_page, error_out=False)

ok,性能提高了好多,116ms就查出来了。

after

完美。


欢迎关注微信公众号,您的资源可变现:【乐知付加密平台】

一起学习,一起进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫实战一、Scrapy开发环境(Win10+Anaconda3)搭建

#前言 在这儿推荐使用Anaconda进行安装,并不推荐大家用pythonpip安装,因为pythonpip的坑实在是太多了。 #一、环境中准备: Win10(企业版)Anaconda3-5.0.1-Windows-x86_64,下载地址,如果打不开…

每日OJ题_两个数组dp①_力扣1143. 最长公共子序列

目录 力扣1143. 最长公共子序列 解析代码 力扣1143. 最长公共子序列 1143. 最长公共子序列 难度 中等 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样…

尚硅谷html5+css3(2)CSS5基本知识

1.网页分为三个部分: 结构:HTML 表现:CSS 行为JavaScript CSS:层叠样式表,网页实际上是一个多层结构,通过CSS可以分别为网页的每一个层来设置样式,最终用户只看最上面的一层,总之&#xff0…

蚁群优化算法(Ant Colony Optimization Algorithm)

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 算法引言 蚁群算法,是一种模拟蚂蚁觅食行为的优化算法。想象一下,当你在野餐时,不小心洒了一些糖在地上。一…

AcWing26. 二进制中1的个数。三种解法Java

输入一个 3232 位整数,输出该数二进制表示中 11 的个数。 注意: 负数在计算机中用其绝对值的补码来表示。 数据范围 −100≤ 输入整数 ≤100 样例1 输入:9 输出:2 解释:9的二进制表示是1001,一共有2个…

免疫检查点信号转导和癌症免疫治疗(文献)

目录 基础 介绍 免疫检查点的表面调控(细胞膜层面) ​编辑 PD-1调节 PD-L1调节 CTLA-4 调节 检查点信号通路 关于靶点研究 展望 Immune checkpoint signaling and cancer immunotherapy - PubMed (nih.gov) 基础 【中英字幕】肿瘤免疫疗法之免…

分享10个免费高可用的GPT3.5和4.0网站并做功能测试【第一个】

1.介绍 网址:直接点:aicnn 或者 www.aicnn.cn 基于ChatGPT可以实现智能聊天、绘画生成、高清文本转语音、论文润色等多种功能,基于sd和mj实现的绘画功能,下面是功能测试: 博主从 1.GPT3.5是否完全免费/是否限制频率、…

MySQL学习笔记------事务

事务 事务是一组操作的集合,他是一个不可分割的单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败 事务操作 create table account(id int comment ID,name varchar(10) …

如何成为一名嵌入式C语言高手?

如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之一。成为一名嵌入式C语言高手需要长时间的学习和实践。下面将介绍一些方法和技巧,帮助你在嵌入式C语言领域获得突出的技能和能力。 一、打…

Spring 中类似 aBbb 单字母单词序列化与反序列问题

文章目录 前言代码准备问题排查lombok自定义生成 get、set 结合源码解析使用 lombok使用 lombok 自定义生成 user 对象 get、set 方法 如何解决使用注解 JsonProperty("aTest")自定义实现符合 Spring 规范的 get set 方法 个人简介 前言 最近在使用 spring boot mvc…

Linux下Qt生成程序崩溃文件

文章目录 1.背景2.Qt编译生成程序2.1.profile模式的本质 3.执行程序,得到core文件4.代码定位4.1.直接使用gdb4.2.使用QtCreator 5.总结6.题外话6.1.profile模式和debug模式的区别 1.背景 在使用Qt时,假如在windows,当软件崩溃时,…

【整数二分】难题选讲

对应洛谷题单里面【整数二分】几道同学们不太好理解的题目,写个解析 A-1数对题目链接 实际上本题方法很多,我先说个好做的办法 我们可以用map标记所有数的个数,枚举数字A[i],在map里面查找C-A[i]数字的个数,统计答案即可&#xff…

C++11右值引用

传统的C语法中就有引用的语法,而C11中新增了的右值引用语法特性,所以从现在开始我们之前学习的引用就叫做左值引用。无论左值引用还是右值引用,都是给对象取别名。 左值与左值引用 左值是一个表示数据的表达式(如变量名或解引用的指针)&…

Qt-线程1-Run

0. 写在前面 一个应用程序一般只有一个线程,一个线程内的操作是顺序执行的,如果有某个比较耗时间的计算或操作,比如图像处理大数据图像、网络通信中的文件传输;在一个线程内操作时,用户界面就能冻结而不能及时响应。这…

34-2 SSRF(服务器端请求伪造)漏洞 - SSRF相关函数

简介 file_get_contents(): 功能: 该函数用于将整个文件读取到一个字符串中,可以用于获取本地或远程文件的内容。风险: 如果未经验证的用户输入作为参数传递给该函数,并且允许读取远程文件,则可能导致SSRF漏洞,攻击者可以利用该漏洞读取服务器内部的文件或者执行未经授权…

C++面试经典问题

常见问题:智能指针、多态、虚函数、STL原理、链表、排序、二叉树、设计模式、线程进程、内存 对象所有权 在接触智能指针之前首先要理解对象的所有权是什么,在这之前我们总是用new和delete来进行内存的申请与释放,在这种堆内存分配的方式中…

【退役之重学Java】关于lambda表达式和函数式接口

使用 lambda 表达式为作为实参,传递给形参,形参为函数式接口,此lambda表达式没有指定类型,如何能匹配函数式接口的形参类型呢? 函数式接口作为参数,实参可以直接用lambda表达式吗,是什么原理 函…

【嵌入式DIY实例】-MODBUS串行通信

MODBUS串行通信 文章目录 MODBUS串行通信1、什么是RS-4852、MAX485 TTL转RS485转换器3、硬件准备4、代码实现4.1 主机和从机之间简单通信4.2 主/从机之间LED控制在本文中,我们将介绍如何使用 MAX485 MODBUS 在Arduino之间进行串行通信。 我们将使用 Arduino nano 板和 MODBUS …

springboot国际化多语言

1,新建国际化多语言文件 在resources目录下新建 messages.properties 其他语言的文件 编辑messages.properties文件,下方从text切换到Resource Bundle ,即可对照着编辑多语言文件 (如果没有找到Resource Bundle,先在settings->plugins中安装Resource Bundle Editor) 2,配…