PanguSync大数据量初始化脚本

2024-05-11 21:52

本文主要是介绍PanguSync大数据量初始化脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由于数据库增量同步软件PanguSync初始化最大超时时间为600s,如果初始数据量很大,第一次部署时可能会超时,可以先停止任务,使用以下Sql语句进行初始化,以下语句可以分步执行,初始化完成后,后续无需再执行耗时的初始化。

Sqlserver

源操作:1.创建字段
alter table 表名 Add C_PanguSyncSourceTimestamp datetime2(6) not null default sysdatetime()2.设置初始化分批时间
WITH NumberedRows AS (    SELECT    C_PanguSyncSourceTimestamp ,    ROW_NUMBER() OVER (ORDER BY [主键] desc) AS RowNum    FROM    表名  
)    
UPDATE Nr    
SET Nr.C_PanguSyncSourceTimestamp  = DATEADD(MILLISECOND, -Nr.RowNum, SYSDATETIME())    
FROM    NumberedRows Nr;3.创建索引
CREATE INDEX  I_PanguSyncSourceTimestamp  on 表名(C_PanguSyncSourceTimestamp ) WITH (ONLINE = ON)
--------------------------------------------------------------------------------------------------------
目标操作:1.创建字段
alter table 表名 Add C_PanguSyncTargetTimestamp datetime2(6) not null default '2000-01-01 00:00:00.000000'2.设置初始化分批时间如果存在C_PanguSyncSourceTimestamp字段:WITH NumberedRows AS (    SELECT    C_PanguSyncTargetTimestamp,C_PanguSyncSourceTimestamp ,ROW_NUMBER() OVER (ORDER BY (select NULL)) AS RowNum    FROM    表名 
)    
UPDATE Nr    
SET Nr.C_PanguSyncSourceTimestamp =Nr.C_PanguSyncSourceTimestamp ,Nr.C_PanguSyncTargetTimestamp = DATEADD(MILLISECOND, -Nr.RowNum, CAST('2000-01-01 00:00:00.000' AS DATETIME))    
FROM    NumberedRows Nr;如果不存在C_PanguSyncSourceTimestamp字段:WITH NumberedRows AS (    SELECT    C_PanguSyncTargetTimestamp,    ROW_NUMBER() OVER (ORDER BY (select NULL)) AS RowNum    FROM    表名   
)    
UPDATE Nr    
SET Nr.C_PanguSyncTargetTimestamp = DATEADD(MILLISECOND, -Nr.RowNum, CAST('2000-01-01 00:00:00.000' AS DATETIME))    
FROM    NumberedRows Nr;3.创建索引
CREATE INDEX  I_PanguSyncTargetTimestamp  on 表名(C_PanguSyncTargetTimestamp ) WITH (ONLINE = ON)

Mysql

源操作:1.创建字段
alter table `源表` Add column `C_PanguSyncSourceTimestamp` timestamp(6) not null default current_timestamp(6) ON UPDATE CURRENT_TIMESTAMP(6);2.设置分批时间
SET @row_number = 0;  
UPDATE  `源表`  SET  C_PanguSyncSourceTimestamp = TIMESTAMPADD(MICROSECOND, -(@row_number:=@row_number + 1), CAST(current_timestamp(6) AS DATETIME(6)))3.创建索引
CREATE INDEX  I_PanguSyncSourceTimestamp   on `源表` (`C_PanguSyncSourceTimestamp`)
--------------------------------------------------------------------------------------------------------------------------------------
目标操作:1.创建字段
alter table `目标表` Add column  C_PanguSyncTargetTimestamp  timestamp(6) NOT NULL DEFAULT '2000-01-01 00:00:00.000000'2.设置分批时间如果存在C_PanguSyncSourceTimestamp字段:SET @row_number = 0;  
UPDATE  `目标表`  SET C_PanguSyncSourceTimestamp=C_PanguSyncSourceTimestamp,C_PanguSyncTargetTimestamp = TIMESTAMPADD(MICROSECOND, -(@row_number:=@row_number + 1), CAST('2000-01-01 00:00:00.000000' AS DATETIME(6)))如果不存在C_PanguSyncSourceTimestamp字段:SET @row_number = 0;  
UPDATE  `目标表`  SET  C_PanguSyncTargetTimestamp = TIMESTAMPADD(MICROSECOND, -(@row_number:=@row_number + 1), CAST('2000-01-01 00:00:00.000000' AS DATETIME(6)))3.创建索引
CREATE INDEX  I_PanguSyncTargetTimestamp   on `目标表` (`C_PanguSyncTargetTimestamp`)

这篇关于PanguSync大数据量初始化脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/980755

相关文章

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

python写个唤醒睡眠电脑的脚本

《python写个唤醒睡眠电脑的脚本》这篇文章主要为大家详细介绍了如何使用python写个唤醒睡眠电脑的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 环境:win10python3.12问题描述:怎么用python写个唤醒睡眠电脑的脚本?解决方案:1.唤醒处于睡眠状

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模