insert into select简单数据迁移-postgresql

简单记录下去年11月的小数据迁移

前提

有个表customer_info里边大概有1千多万数据,分了四个店铺,其中三个店铺的数据是已经不再变动了,只有一个店铺的数据还在更新,所以当时就想把其他三个店铺的数据迁移出去,只留变动的数据(变动的数据大概有三百多万),要迁移的数据大概有七百多万,1个G多的数据,使用的数据库postgresql,当时还考虑到迁移这些数据的时候会不会造成迁移那一段时间的数据更新有问题啥的,后来发现用命令分店铺迁移很快就迁移成功了,另外就是变动的数据更新频率没那么高,大概并发只有10-20左右

过程

1.先复制出一张新表(该表用于要迁移出的数据存储,把索引啥的也要建好)

2.使用命令按店铺分三次迁移(大致命令如下)

复制代码
insert into isv_customer_info_20231129 SELECT * FROM isv_customer_info where seller_nick = 'xx旗舰店1'

insert into isv_customer_info_20231129 SELECT * FROM isv_customer_info where seller_nick = 'xx旗舰店2'

insert into isv_customer_info_20231129 SELECT * FROM isv_customer_info where seller_nick = 'xx旗舰店3'

三个店铺数据分别是6554064,1466921,595631 所用时间分别是117011ms,28354ms,8613ms,即600万数据用时大概2分钟,100多万数据用时大概28s

3.可以抽一些数据大概看一下

建议:

1.也建议在操作低峰时进行迁移避免出现问题

2.如果有其他业务场景,建议先了解一下insert into select用法避免发生问题

我同事那会儿也在进行迁移,他那边是mysql数据库,大概好像4G的数据,几分钟就迁移完了。

相关推荐
洲覆4 分钟前
Redis 内存淘汰策略
开发语言·数据库·redis·缓存
胖头鱼的鱼缸(尹海文)33 分钟前
数据库管理-第376期 Oracle AI DB 23.26新特性一览(20251016)
数据库·人工智能·oracle
麦聪聊数据34 分钟前
浅谈SQL审核(一):SQL审核实现方式与常见工具的选择
数据库·sql
ajassi200041 分钟前
开源 Linux 服务器与中间件(七)数据库--MySQL
linux·服务器·数据库·ubuntu·开源
韩立学长1 小时前
【开题答辩实录分享】以《自然灾害隐患点管理信息系统》为例进行答辩实录分享
数据库·spring boot
迎風吹頭髮1 小时前
Linux服务器编程实践58-getnameinfo函数:通过socket地址获取主机名与服务名
开发语言·数据库·php
christine-rr1 小时前
linux常用命令——其他
linux·服务器·网络·数据库·redis·ubuntu
一只专注api接口开发的技术猿2 小时前
容器化与调度:使用 Docker 与 K8s 管理分布式淘宝商品数据采集任务
开发语言·前端·数据库
tryxr2 小时前
MySQL 之索引为什么选择B+树
数据库·mysql·b+树·索引
曦樂~2 小时前
【Qt】信号与槽(Signal and Slot)- 简易计算器
开发语言·数据库·qt