使用nest+typeorm框架写数据库导致mysql的binlog暴增记录
这
两天用nest+typeorm写了一个商城,上线后mysql日志binlog两天就达到了10几个G,排查结果如下:
有个功能是定时遍历所有未签收的订单,看看是否到了自动签收时间,如果到了,就把订单状态设置成已签收。
代码是这样的
//查找未签收的订单
const orderList = await this.orderRepo.find({where:{state:0)}})for(let order of orderList){
//是否10天前的订单if(order.payTime<dayjs().addDays(-10,'days').unix()){//设置为自动签收order.state=2//签收状态order.signTime = dayjs().unix()await this.orderRepo.save(order)//保存订单
}else{//order.state=0 //保持未签收的状态await this.orderRepo.save(order)//保存订单
}
}
随着订单越来越多,导致每次执行 repo.save方法的时候,mysql都会将update的所有字段重新保存一次,导致binlog日志非常大,把阿里云默认的40G云盘两天就满了。
因为typeorm的save方法,会把每个字段都update更新一遍,这个方法最好在新增的时候使用,如果只是单纯更新某个字段,最好使用 update方法
await this.orderRepo.update(order.id,{state:order.state})//保存订单
这样只会在binlog日志增加一行数据 update order set state=1 where id = xxx
相关文章:
使用nest+typeorm框架写数据库导致mysql的binlog暴增记录
这 两天用nesttypeorm写了一个商城,上线后mysql日志binlog两天就达到了10几个G,排查结果如下: 有个功能是定时遍历所有未签收的订单,看看是否到了自动签收时间,如果到了,就把订单状态设置成已签收。 代码…...
组合逻辑元件与时序逻辑元件
组合逻辑元件和时序逻辑元件都是数字电路中的基本构建块,但它们在功能和结构上存在显著差异。 1. 组合逻辑元件: 内容: 组合逻辑元件的输出仅取决于当前的输入,而与之前的输入无关。 它们没有记忆功能。 常见的组合逻辑元件包括: 与门 (AND…...
天龙八部怀旧单机微改人面桃花+安装教程+GM工具+虚拟机一键端
今天给大家带来一款单机游戏的架设:天龙八部怀旧单机微改人面桃花。 另外:本人承接各种游戏架设(单机联网) 本人为了学习和研究软件内含的设计思想和原理,带了架设教程仅供娱乐。 教程是本人亲自搭建成功的…...
docker管理
拉取容器镜像 docker pull 镜像名:镜像版本查看镜像 docker images查看容器列表 # 查看正在运行的容器 docker ps # 查看全部的容器(包括停止的容器) docker ps -a进入容器 docker exec -it 容器id /bin/bash停止容器 docker stop 容器id运行容器 docker start 容器id删除…...
electron教程(三)窗口设置
在main.js文件中,创建窗口时会设置窗口的大小,其实还有很多其他属性,可以根据实际需求选择设置,但部分属性存在局限性,官网也有明确告知:自定义窗口 | Electron (electronjs.org) 项目文件目录如下&#x…...
图像增强论文精读笔记-Deep Retinex Decomposition for Low-Light Enhancement(Retinex-Net)
1. 论文基本信息 论文标题:Deep Retinex Decomposition for Low-Light Enhancement 作者:Chen Wei等 发表时间和期刊:2018;BMVC 论文链接:https://arxiv.org/abs/1808.04560 2. 研究背景和动机 低光照条件下拍摄的…...
2024年配置YOLOX运行环境+windows+pycharm24.0.1+GPU
1.配置时间2024/9/25 2.Anaconda-python版本3.7,yolox版本0.2.0 YOLOX网址: https://github.com/Megvii-BaseDetection/YOLOX 本人下载的这个版本 1.创建虚拟环境 conda create -n yolox37 python37 激活 conda activate yolox37 2.安装Pytorch cuda等&…...
vue-i18n在使用$t时提示类型错误
1. 问题描述 Vue3项目中,使用vue-i18n,在模版中使用$t时,页面可以正常渲染,但是类型报错。 相关依赖版本如下: "dependencies": {"vue": "^3.4.29","vue-i18n": "^9.1…...
大厂面试真题-什么是CAS单点登录?什么原理
CAS(Central Authentication Service,中央认证服务)单点登录(SSO,Single Sign-On)的原理主要基于统一的认证机制和票据验证过程,使得用户只需在多个相互信任的应用系统中登录一次,即…...
用Java提取PDF表格到文本、CSV、Excel工作表
如何精准地提取PDF格式中嵌入的表格数据,并将其无缝转换为更加易于分析和操作的形式,如纯文本、CSV文件或Excel工作表,是一项重要的文档处理技巧。使用Java,我们可以简单地实现这一过程。本文将介绍如何利用Java从PDF文档提取表格…...
OpenCV视频I/O(10)视频采集类VideoCapture之从视频流中检索一帧图像函数 retrieve()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 解码并返回已抓取的视频帧。 cv::VideoCapture::retrieve() 是 VideoCapture 类的一个成员函数,用于从视频流中检索一帧图像。 retr…...
【RocketMQ】SpringBoot整合RocketMQ
🎯 导读:本文档详细介绍了如何在Spring Boot应用中集成Apache RocketMQ,并实现消息生产和消费功能。首先通过创建消息生产者项目,配置POM文件引入RocketMQ依赖,实现同步消息发送,并展示了如何发送普通字符串…...
mysql replace无法替换空格?如何解决
哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互…...
Redis篇(环境搭建)
目录 一、安装包 1. Windows版下载地址 2. Linux版下载地址 二、安装Redis 1. 在Linux中安装Redis 2. 在Windows中安装Redis 3. 细节问题 三、Redis服务启动 1. 默认启动 2. 指定配置启动 3. 开机自启 四、Redis服务停止 1. Linux系统中启动和停止Redis 2. Window…...
【C++题目】7.双指针_和为 s 的两个数字
文章目录 题目链接:题目描述:解法C 算法代码:图解 题目链接: LCR 179.查找总价格为目标值的两个商品 题目描述: 解法 解法一(暴力解法,会超时) 两层 for 循环列出所有两个数字的组合…...
网络通信1-传输层
tcp的三次握手: TCP(传输控制协议)的三次握手是建立一个可靠的连接的过程。这个过程中涉及到的主要参数包括: 序列号(Sequence Number, SEQ): 在第一次握手中,发起方(客户端…...
【JAVA源码授权】
悯农二首 代码混淆加密 Class 文件许可证管理数字签名API 调用限制防止反编译使用私有库法律保护动态授权 其一 春种一粒粟,秋收万颗子。 四海无闲田,农夫犹饿死。 其二 锄禾日当午,汗滴禾下土。 谁知盘中餐,粒粒皆辛苦 代码混淆 …...
tauri开发软件中,使用tauri自带的api用浏览器打开指定的url链接
有能力的可以看官方文档:shell | Tauri Apps 就是使用这个api来打开指定的url链接,要在tauri.config.json中配置打开这个api: 然后在前端页面中导入使用: import { open } from tauri-apps/api/shell; // opens the given URL o…...
OpenCV-图像拼接
文章目录 一、基本原理二、步骤三、代码实现1.定义函数2.读取图像3.图像配准(1).特征点检测(2).特征匹配 4.透视变换5.图像拼接 四、图像拼接的注意事项 图像拼接是一种将多张有重叠部分的图像合并成一张无缝的全景图或高分辨率图…...
C++【类和对象】(取地址运算符重载与实现Date类)
文章目录 取地址运算符重载const成员函数取地址运算符重载 Date类的实现Date.hDate.cpp1.检查日期合法性2. 构造函数/赋值运算符重载3.得到某月的天数4. Date类 - 天数的操作4.1 日期 天数4.2 日期 天数4.3 日期 - 天数4.4 日期 - 天数 5. Date的前后置/--5.1 前置5.2 后置5.…...
开源STK插件模块大全:提升你的空天地一体化仿真效率
开源STK插件模块大全:提升空天地一体化仿真效率的实战指南 如果你已经熟悉STK的基础操作,却还在为复杂的星座仿真流程和有限的分析功能而头疼,那么开源插件模块将成为你的效率倍增器。本文将带你深入探索那些被专业用户私藏的工具箱ÿ…...
PostgreSQL开机启动踩坑实录:从‘服务不存在’到‘权限拒绝’的完整排错指南
PostgreSQL开机启动故障排查实战指南:从日志分析到权限修复 当你满怀期待地在服务器上执行systemctl start postgresql命令,却看到刺眼的红色报错信息时,那种挫败感我深有体会。作为一款强大的开源数据库,PostgreSQL在Linux系统上…...
深入解析SAC算法:从最大熵原理到机器人控制实践
1. SAC算法为什么值得关注 第一次听说SAC(Soft Actor-Critic)算法时,我和大多数强化学习新手一样困惑:为什么这个算法能在机器人控制领域迅速走红?直到在机械臂抓取项目中亲自尝试后,我才真正理解它的独特价值。 SAC最吸引人的特点…...
实测AWS Bedrock 接入 Claude 4.6 做代码审查:200K 上下文+多智能体协作
最近 GitHub 上的不少热门开源项目都在热议一款新工具:Anthropic 刚刚在 AWS Bedrock 推出的 Claude 4.6 Sonnet,以及随之而来的多智能体代码审查系统(Claude Code Review)。这套系统不仅卷起了技术圈的讨论热潮,也掀起…...
从Autoencoder到VAE:探索生成模型的演进之路
1. 从数据压缩到生成模型:Autoencoder的诞生 2006年,当Geoffrey Hinton团队首次提出Autoencoder(自编码器)时,这个看似简单的神经网络结构悄然打开了深度学习的新篇章。想象一下你正在整理杂乱的书架——先把书籍按主题…...
Android蓝牙HFP连接实战:从SDK调用到底层状态机全解析(附避坑指南)
Android蓝牙HFP连接实战:从SDK调用到底层状态机全解析(附避坑指南) 在移动设备互联场景中,蓝牙免提协议(HFP)作为语音通话的核心传输通道,其连接稳定性直接影响用户体验。本文将深入Android蓝牙…...
专业硬件监控解决方案:LibreHardwareMonitor完全指南
专业硬件监控解决方案:LibreHardwareMonitor完全指南 【免费下载链接】LibreHardwareMonitor Libre Hardware Monitor, home of the fork of Open Hardware Monitor 项目地址: https://gitcode.com/GitHub_Trending/li/LibreHardwareMonitor 在当今数字化时代…...
从马达驱动到手机快充:聊聊电荷泵(Charge Pump)这个‘老古董’技术是怎么翻红的
从马达驱动到手机快充:电荷泵技术的跨时代复兴 在电子工程领域,很少有技术能像电荷泵这样经历如此戏剧性的复兴。这个诞生于上世纪70年代的电路设计,最初只是工程师工具箱里一个不起眼的模块,如今却成为智能手机快充、OLED显示驱动…...
智慧交通护栏识别 道路标识识别车道线识别 道路设施目标检测模型训练 交通设施巡检算法 yolo图像分割数据集第10607期
计算机视觉数据集数据集概览 类别:7类,涵盖道路设施相关目标图像数量:500格式:YOLO格式核心任务:目标检测数据集核心信息维度详情数据类别冷塑震荡标线漆、热塑性涂料、凸起式路面标线、橡胶减速带、单W型梁防撞护栏、…...
如何利用OpenCode实现高效专业的AI驱动开发工作流?
如何利用OpenCode实现高效专业的AI驱动开发工作流? 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手,模型灵活可选,可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 在当今快速迭代的软件开发…...
