兰州建网站/百度客户端登录

兰州建网站,百度客户端登录,WordPress古腾堡插件,现在标书都从哪个网站下载真实痛点:电商订单表存储优化场景 现状分析 某电商平台订单表(order_info)每月新增500万条记录 主库:高频读写,SSD存储(空间告急)历史库:HDD存储,只读查询 优化目标 …

真实痛点:电商订单表存储优化场景

现状分析
某电商平台订单表(order_info)每月新增500万条记录

  • 主库:高频读写,SSD存储(空间告急)
  • 历史库:HDD存储,只读查询

优化目标

  • ✅ 自动迁移7天前的订单到历史库
  • ✅ 每周六23:30执行,不影响业务高峰
  • ✅ 确保数据一致性

第一章:前期准备:沙盒实验室搭建

1.1 实验环境架构

生产库:10.33.112.22

历史库:10.30.76.4

1.2 环境初始化(双节点执行)

# 主库建表
CREATE TABLE order_info (id BIGINT AUTO_INCREMENT PRIMARY KEY,order_no VARCHAR(32) UNIQUE,amount DECIMAL(10,2),create_time DATETIME DEFAULT CURRENT_TIMESTAMP,INDEX idx_create_time(create_time)
) ENGINE=InnoDB;# 需要在历史库建表(保持相同结构)
CREATE TABLE order_archive (id BIGINT AUTO_INCREMENT PRIMARY KEY,order_no VARCHAR(32) UNIQUE,amount DECIMAL(10,2),create_time DATETIME DEFAULT CURRENT_TIMESTAMP,INDEX idx_create_time(create_time)
) ENGINE=InnoDB;

第二章:数据搬迁实战

2.1 模拟数据生成(快速生成30天数据)

# 登录主库执行
DELIMITER $$
CREATE PROCEDURE generate_orders()
BEGINDECLARE i INT DEFAULT 0;WHILE i < 50000 DOINSERT INTO order_info(order_no, amount, create_time)VALUES (CONCAT('NO', DATE_FORMAT(NOW(),'%Y%m%d'), LPAD(i,6,'0')),ROUND(RAND()*1000,2),DATE_SUB(NOW(), INTERVAL FLOOR(RAND()*30) DAY));SET i = i + 1;END WHILE;
END$$
DELIMITER ;CALL generate_orders();   -- 执行存储过程
DROP PROCEDURE generate_orders;

数据验证

SELECT COUNT(*) AS total,MIN(create_time) AS earliest,MAX(create_time) AS latest 
FROM order_info;+-------+---------------------+---------------------+
| total | earliest            | latest              |
+-------+---------------------+---------------------+
| 50000 | 2025-02-19 16:24:17 | 2025-03-20 16:34:00 |
+-------+---------------------+---------------------+

2.2 PT-Archiver手动搬迁示范

./pt-archiver \
--source h=10.33.112.22,D=pt,t=order_info,u=root,p=密码 \
--dest h=10.30.76.4,D=pt,t=order_archive,u=root,p=密码 \
--where "create_time < DATE_SUB(NOW(), INTERVAL 7 DAY)" \
--progress 1000 \
--bulk-delete \
--limit 5000 \
--no-check-charset \
--nosafe-auto-increment \
--commit-each
  • 参数解释(参数 | 说明):

    –source | 指定源数据库连接信息(IP/库名/表名/账号密码)
    –dest | 指定目标数据库连接信息(IP/库名/表名/账号密码)
    –where | 数据筛选条件(删除7天前的数据)
    –progress | 每处理1000行输出进度
    –bulk-delete | 启用批量删除模式(代替逐行删除)
    –limit | 每批处理5000条数据
    –no-check-charset | 跳过字符集一致性检查
    –nosafe-auto-increment | 禁用自增主键安全校验 (避免漏掉最后一行数据)
    –commit-each | 逐行提交事务(默认批量提交)


2.3 迁移效果验证

主库查询

SELECT COUNT(*) AS total,MIN(create_time) AS earliest,MAX(create_time) AS latest 
FROM order_info;+-------+---------------------+---------------------+
| total | earliest            | latest              |
+-------+---------------------+---------------------+
| 11638 | 2025-03-15 11:16:51 | 2025-03-21 11:25:56 |
+-------+---------------------+---------------------+

历史库验证

SELECTCOUNT(*) AS total,MIN(create_time) AS earliest,MAX(create_time) AS latest
FROM order_archive;
+-------+---------------------+---------------------+
| total | earliest            | latest              |
+-------+---------------------+---------------------+
| 38362 | 2025-02-20 11:16:51 | 2025-03-14 11:25:55 |
+-------+---------------------+---------------------+

11638+38362=50000,无误。迁移成功!


第三章:无人值守自动化方案

接下来我们要做成每周某,定时自动迁移

3.1 自动化配置

vim /scripts/archive_orders.sh#!/bin/bash
LOG_FILE="/var/log/archive_$(date +%Y%m%d).log"/opt/percona-toolkit-3.6.0/bin/pt-archiver \
--source h=10.33.112.22,D=pt,t=order_info,u=root,p=密码 \
--dest h=10.30.76.4,D=pt,t=order_archive,u=root,p=密码 \
--where "create_time < DATE_SUB(NOW(), INTERVAL 7 DAY)" \
--progress 1000 \
--bulk-delete \
--limit 5000 \
--purge \
--no-check-charset \
--nosafe-auto-increment \
--commit-each >> ${LOG_FILE} 2>&1

授权执行

chmod +x /scripts/archive_orders.sh

3.3 配置定时任务

crontab -e# 每周六23:30执行
30 23 * * 6 /bin/bash /scripts/archive_orders.sh

关键检查项

  1. 确保pt-archiver在PATH中
  2. 定时任务用户有权限访问数据库
  3. 日志目录提前创建

结语:解放人力的最后一步

大功告成!此时生产数据库:

✅ 主库始终保持轻量级状态
✅ 历史查询不再影响核心业务
✅ 自动归档策略稳定运行

现在就去为你的数据库实施这套方案吧!

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

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

相关文章

数学建模 绘图 图表 可视化(3)

文章目录 前言二维散点图系列坐标图数据分布特征&#xff0c;Q-Q、P-P图分类图一般的曲线图峰峦图总结参考资料 前言 承接上期 数学建模 绘图 图表 可视化&#xff08;1&#xff09;的总体描述&#xff0c;这期我们继续跟随《Python 数据可视化之美 专业图表绘制指南》步伐来学…

【数据结构】栈(Stack)、队列(Queue)、双端队列(Deque) —— 有码有图有真相

目录 栈和队列 1. 栈&#xff08;Stack&#xff09; 1.1 概念 1.2 栈的使用&#xff08;原始方法&#xff09; 1.3 栈的模拟实现 【小结】 2. 栈的应用场景 1、改变元素的序列 2、将递归转化为循环 3、逆波兰表达式求值 4、括号匹配 5、出栈入栈次序匹配 6、最小栈…

【强化学习】Reward Model(奖励模型)详细介绍

&#x1f4e2;本篇文章是博主强化学习&#xff08;RL&#xff09;领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对相关等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅…

国家雪亮工程政策护航,互联网监控管理平台铸就安全防线

在当今社会&#xff0c;公共安全是国家发展的重要基石&#xff0c;也是人民安居乐业的基本保障。为了打造更高水平的平安中国&#xff0c;国家推出了意义深远的雪亮工程&#xff0c;并出台了一系列相关政策&#xff0c;为公共安全事业保驾护航。而互联网监控管理平台作为雪亮工…

蓝桥杯 第十天 2019国赛第4题 矩阵计数

最后一个用例超时了&#xff0c;还是记录一下 import java.util.Scanner;public class Main {static int visited[][];static int count 0;static int n,m;public static void main(String[]args) {Scanner scan new Scanner(System.in);n scan.nextInt();//2m scan.nextIn…

coding ability 展开第五幕(二分查找算法)超详细!!!!

. . 文章目录 前言二分查找搜索插入的位置思路 x的平方根思路 山脉数组的峰顶索引思路 寻找旋转排序数组中的最小值思路 总结 前言 本专栏上篇博客已经把滑动指针收尾啦 现在还是想到核心——一段连续的区间&#xff0c;有时候加上哈希表用起来很爽 今天我们来学习新的算法知识…

基于springboot的母婴商城系统(018)

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本母婴商城系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…

shell 脚本搭建apache

#!/bin/bash # Set Apache version to install ## author: yuan# 检查外网连接 echo "检查外网连接..." ping www.baidu.com -c 3 > /dev/null 2>&1 if [ $? -eq 0 ]; thenecho "外网通讯良好&#xff01;" elseecho "网络连接失败&#x…

使用OBS进行webRTC推流参考

参考腾讯云官方文档&#xff1a; 云直播 OBS WebRTC 推流_腾讯云 说明非常详细&#xff0c;分为通过WHIP和OBS插件的形式进行推流。 注意&#xff1a;通过OBS插件的形式进行推流需要使用较低的版本&#xff0c;文档里有说明&#xff0c;需要仔细阅读。

Excel 小黑第18套

对应大猫18 .txt 文本文件&#xff0c;点数据 -现有链接 -浏览更多 &#xff08;文件类型&#xff1a;可以点开文件看是什么分隔的&#xff09; 双击修改工作表名称 为表格添加序号&#xff1a;在数字那修改格式为文本&#xff0c;输入第一个序号样式&#xff08;如001&#…

快速入手-基于Django的mysql配置(三)

Django开发操作数据库更简单&#xff0c;内部提供了ORM框架。比如mysql&#xff0c;旧版本用pymysql对比较多&#xff0c;新的版本采用mysqlclient。 1、安装mysql模块 pip install mysqlclient 2、Django的ORM主要做了两件事 &#xff08;1&#xff09;CRUD数据库中的表&am…

【总结篇】java多线程,新建线程有几种写法,以及每种写法的优劣势

java多线程 新建线程有几种写法,以及每种写法的优劣势 [1/5]java多线程 新建线程有几种写法–继承Thread类以及他的优劣势[2/5]java多线程-新建线程有几种写法–实现Runnable接口以及他的优劣势[3/5]java多线程 新建线程有几种写法–实现Callable接口结合FutureTask使用以及他的…

基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统

作者主页&#xff1a;编程千纸鹤 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参…

【芯片验证】面试题·对深度为60的数组进行复杂约束的技巧

朋友发给我的芯片验证笔试题,觉得很有意思,和大家分享一下。 面试题目 class A中一个长度为60的随机数组rand int arr[60],如何写约束使得: 1.每个元素的值都在(0,100]之间,且互不相等; 2.最少有三个元素满足勾股数要求,比如数组中包含3,4,5三个点; 请以解约束最快…

【论文阅读】Contrastive Clustering Learning for Multi-Behavior Recommendation

论文地址&#xff1a;Contrastive Clustering Learning for Multi-Behavior Recommendation | ACM Transactions on Information Systems 摘要 近年来&#xff0c;多行为推荐模型取得了显著成功。然而&#xff0c;许多模型未充分考虑不同行为之间的共性与差异性&#xff0c;以…

蓝桥杯2023年第十四届省赛真题-子矩阵

题目来自DOTCPP&#xff1a; 暴力思路&#xff08;两个测试点超时&#xff09;&#xff1a; 题目要求我们求出子矩阵的最大值和最小值的乘积&#xff0c;我们可以枚举矩阵中的所有点&#xff0c;以这个点为其子矩阵的左上顶点&#xff0c;然后判断一下能不能构成子矩阵。如果可…

centos 磁盘重新分割,将原来/home 下部分空间转移到 / 根目录下

上次重装系统时&#xff0c;不小心将一半磁盘放在了 /home 下面&#xff0c;运行一段时间后&#xff0c;发现/home 空间没有怎么用&#xff0c;反而是/ 目录报警说磁盘用完了&#xff0c;准备将 /home下的空间分一部分给主目录 / 先查看下 空间分布情况 df -lh 可以看到&…

【C#语言】C#同步与异步编程深度解析:让程序学会“一心多用“

文章目录 ⭐前言⭐一、同步编程&#xff1a;单线程的线性世界&#x1f31f;1、寻找合适的对象✨1) &#x1f31f;7、设计应支持变化 ⭐二、异步编程&#xff1a;多任务的协奏曲⭐三、async/await工作原理揭秘⭐四、最佳实践与性能陷阱⭐五、异步编程适用场景⭐六、性能对比实测…

学习笔记 ASP.NET Core Web API 8.0部署到iis

一.修改配置文件 修改Program.cs配置文件将 if (app.Environment.IsDevelopment()) {app.UseSwagger();app.UseSwaggerUI(); }修改为 app.UseSwagger(); app.UseSwaggerUI(); 二.安装ASP.NET Core Runtime 8.0.14 文件位置https://dotnet.microsoft.com/en-us/download/do…

从零搭建微服务项目Pro(第6-1章——Spring Security+JWT实现用户鉴权访问与token刷新)

前言&#xff1a; 在现代的微服务架构中&#xff0c;用户鉴权和访问控制是非常重要的一部分。Spring Security 是 Spring 生态中用于处理安全性的强大框架&#xff0c;而 JWT&#xff08;JSON Web Token&#xff09;则是一种轻量级的、自包含的令牌机制&#xff0c;广泛用于分…