使用复制存储过程执行解决“事务复制中的表大量更新导致无法及时同步”的问题

Cadence仿真实战:从零构建高精度带隙基准电压源 本文是一份详细的Cadence仿真实战指南,指导读者从零开始构建高精度带隙基准电压源。文章首先解释了带隙基准电压源稳定输出电压的原理,然后逐步演示了在Cadence Virtuoso环境中如何搭建测试电路、测量关键温度系数、计算并搭建核心电路,并通过参数扫描和迭代调优来驯服温度漂移,最终实现低漂移的基准电压输出。 阅读详情

来自:http://blog.youkuaiyun.com/zjcxc/article/details/8141844

 复制存储过程执行应用于事务复制中,当在发布服务器上执行配置的存储过程时,存储过程导致的数据变更不会做为多步骤事务发送到订阅服务器,而仅仅是把执行存储过程的命令发送到订阅服务器。

         比如,如果你为一个100万条记录的表增加了一个字段,并且初始化为一个值,如果不使用复制存储过程执行的话,那么这个操作就会形成100万个更新操作发送到订阅服务器,订阅服务器将将进行100万次更新,这个操作通常会花费很长时间,并导致后续的数据变更也无法得到及时的同步。

         如果使用复制存储过程执行的话,你可以创建一个存储过程来实现这个更新,并且把这个存储过程添加到事务复制中,然后当你在发布服务器上执行完成这个存储过程后,这个执行操作会衩发送到订阅服务器,订阅服务器将执行同样的调用存储过程的操作来完成这100万记录的更新。由于在发布和分发服务器之间不存在大量的数据传递,更新操作也不是100万个更新,所以这个操作会很快完成,因此你的同步延迟也会非常小。

         复制存储过程的关键是发布项目属性中,为存储过程配置项目属性时,将“复制”项设置为“存储过程执行”,或者是“SP 的序列化事务中执行”,如图所示

(如果你是用T-SQL来创建发布,则是将 sp_addarticle 存储过程的 @type 参数设置为“proc exec”,或“serializable proc exec”)

其中,“SP 的序列化事务中执行”是推荐的行为,要求你的存储过程是在序列化事务中,也就是SETTRANSACTION ISOLATION LEVEL SERIALIZABLE。至于原因和详细的资料,可能参考联机帮助:

http://msdn.microsoft.com/zh-cn/library/ms152754(SQL.90).aspx

 

值得注意的是,由于订阅服务器上的存储过程是可以修改的,所以利用这个,你还可能实现更多的与大批量数据相关的操作。例如,你可能有一些大表,这些表被同步到报表服务器上,在你的发布服务器上,你只关心最新的数据(可能是最近2年),而在报表服务器上,你需要所有的数据。所以,在发布服务器上,你可能有一个定期删除历史数据的Job,而在报表服务器上,则不能删除,你可能会考虑通过配置筛选来做到发布上的删除不同步到订阅,但如果某天不小心重新初始化了一次,则数据就丢失了。而利用复制存储过程执行的话,你可以在发布服务器上定义存储过程的内容为删除,在订阅服务器上定义存储过程为删除并且OUTPUT 到历史表,这样发布和订阅的表是一样的,不担心重新初台化导致数据丢失。唯一要注意的是,你在发布服务器上修改存储过程的话,这个修改会同步到订阅服务器,当然,这个问题也容易解决,你可以在存储过程里面判断服务器名字来完成不同的操作,这样就万无一失了。


【WRF-Chem】预处理工具(Preprocessors)总结 预处理工具(Preprocessors)总结 阅读详情

相关推荐

《基于Yolo算法的火灾检测系统设计与实现》开题报告

在消防安全领域,火灾对生命财产安全构成严重威胁。传统的火灾检测手段存在诸多不足,如误报率高、检测范围有限、响应速度慢等。基于 Yolo 算法的火灾检测系统能够利用深度学习技术,实现对火灾的高效、精准检测,具有重要的现实意义。         从社会安全角度看,该系统可以广泛应用于各类公共场所、工业厂房和居民住宅,实时监测火灾隐患,及时发出警报,为人员疏散和消防救援争取宝贵时间,有效降低火灾造成的人员伤亡和财产损失,保障社会公共安全。

m0_69704149的博客 1384

使用复制存储过程执行解决“事务复制中的表大量更新导致无法及时同步”的问题...

复制存储过程执行应用于事务复制中,当在发布服务器上执行配置的存储过程时,存储过程导致的数据变更不会做为多步骤事务发送到订阅服务器,而仅仅是把执行存储过程的命令发送到订阅服务器。 比如,如果你为一个100万条记录的表增加了一个字段,并且初始化为一个值,如果不使用复制存储过程执行的话,那么这个操作就会形成100万个更新操作发送到订阅服务器,订阅服务器将将进行100万次更新,这个操作通常会花费很长时...

数据库 214

Uds诊断自动化(CANoe.diva应用)

(7)其他配置选择可以保持默认(一般情况下,DTC以及31服务、下载服务需要另外测试)。(1)打开CANoe.Diva软件,并新建Diva工程。(2)设置工程名和保存位置;在"Specification file"(3)测试案例打开后的界面如下,可以对要进行测试的案例进行勾选,(可查看下角的进度条)后;(3)等待DIva工程的生成;(4)接下来是修改Diva工程选项,如下图点击。,如用例间的时间间隔、复位等待时间等。,即可打开导入的测试工程。,即可生成测试用例。(1)在CANoe中。

LIUJIAAAAA的博客 3440

C++中如何控制语句只执行一次_如何解决大批量数据保存的性能问题

一、背景 明源云ERP开放平台提供了强大的基于实体的ORM框架:“实体服务”,它可以让开发人员只需专注于业务逻辑代码的编写,不用关心数据库相关的操作,大大提高了开发效率。 在行业中所有基于实体的ORM框架,均存在同一个问题:在批量操作数据时,性能表现乏力。因为在批量保存数据时,可能既包含新增的记录,又包含更新或删除的记录,一般的ORM框架必须为每一条记录生成一条SQL语句,然后一条一条的执行,这样...

weixin_39744408的博客 427

【制作100个unity游戏之22】3DRPG游戏开发01——项目的设置和导入及渲染管线的安装修复

如果你现在存在一些疑惑unity导入素材为什么是粉紫色的?表示他没有适配我们的URP通用渲染管线,要如何适配呢?素材渲染错误丢失要如何解决?如果你有上面3个任意的问题,那这篇文章同样适合你,我将手把手教你如何安装修复渲染管线,看完你就了解了!在Unity中,他们都是渲染管线,它们的主要区别在于性能和功能。LWRP是早期版本的URP,它专门为移动设备和低端PC设计,旨在提供更高的性能。它使用基于顶点的光照和简化的后处理效果,可以在更低的硬件要求下运行。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2428

V4L2教程(1):Ubuntu V4L2开发环境搭建与设备探索

欢迎来到V4L2学习指南的第一篇!本文将带你从零开始,在Ubuntu系统上搭建完整的V4L2视频采集开发环境。无论你是想开发视频监控、视频会议还是机器视觉应用,掌握V4L2都是Linux视频开发的必经之路。 **本节学习目标**: - 理解V4L2的基本概念和架构 - 搭建Ubuntu下的V4L2开发环境 - 掌握v4l2-ctl等调试工具的使用 - 学会检测和配置USB摄像头设备

琅嬛福地 417

【疑难杂症03】数据同步遇到的坑

  这是发生在我身上的一个bug,困扰了我三天,已经让我多次怀疑人生。因为我这个工作是数据准备阶段,后续还有一系列工作需要依赖我这些初始数据,压力很大,感谢某人在这个时候给我的鼓励,虽然只是寥寥几句。这件事记起来仅为日后提醒自己不再犯相同的错误。 一、问题经过   简单来说,我做的是一个数据同步任务,将数据从es的一个type经过转换和操作同步到另一个type中,下面统一说A同步到B,而且这个...

weixin_30824277的博客 178

微信小程序报错:“errno“:600001,“errMsg“:“uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::

uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::ERR_NAME_NOT_RESOLVED,uniApp微信小程序使用uni.uploadFile出现报错,微信小程序如何解决wx.uploadFile报错,如何解决这个问题,微信小程序真机报错,微信小程序报错"errno":600001,"errMsg":"uploadFile:fail errcode:-105 cronet_error_code:-105 error_m

✅ 精选推荐文章 3826

使用复制存储过程执行解决“事务复制中的表大量更新导致无法及时同步”的问题 (转)...

   复制存储过程执行应用于事务复制中,当在发布服务器上执行配置的存储过程时,存储过程导致的数据变更不会做为多步骤事务发送到订阅服务器,而仅仅是把执行存储过程的命令发送到订阅服务器。          比如,如果你为一个100万条记录的表增加了一个字段,并且初始化为一个值,如果不使用复制存储过程执行的话,那么这个操作就会形成100万个更新操作发送到订阅服务器,订阅服务器将将进行100万次更新,这...

weixin_33738982的博客 130

【UG\NX二次开发】多个带ui的dll怎么整合到一个dll

NX二次开发-群精选」专栏收录了那些曾散落在聊天对话框里的精彩的知识分享,这都是被遗落的宝贵财富。让我们一起向大佬学习,充满激情地进步,不断超越自己。底部联系方式,欢迎您加入一起交流。有大佬知道多个带ui的dll怎么整合到一个dll吗。

王牌飞行员_里海的博客 284

基于 SoC 的卷积神经网络车牌识别系统设计(1)引言

通过 CPU 软核 IP 在纯 FPGA 平台上构建一个 AI SoC 卷积神经网络车牌识别系统,其中,缩放、填充层、卷积层、ReLU、池化层、全连接层 IP 都是 Verilog 设计的,同时集成了各种高性能的 IP。这是最具挑战性的 AI SoC 芯片设计项目,集成了 Python 卷积神经网络代码、Verilog 卷积神经网络硬件设计、ARM SoC 设计、ARM 与 FPGA 的交叉编译流程等等。这不仅是科研学习、集创竞赛、秋招求职的一个极具优势的精彩项目,也是目前最火热的芯片行业之中的一个...

新芯设计的博客 3780

MySQL主从复制与表拆分相关问题总结

文章参考:https://joonwhee.blog.youkuaiyun.com/article/details/106893197 问题:如何做慢 SQL 优化? 首先要搞明白慢的原因是什么:是查询条件没有命中索引?还是 load 了不需要的数据列?还是数据量太大?所以优化也是针对这三个方向来的: 首先用 explain 分析语句的执行计划,查看使用索引的情况,是不是查询没走索引,如果可以加索引解决,优先采用加索引解决。 分析语句,看看是否存在一些导致索引失效的用法,是否 load 了额外的数据,是否

兴趣使然的草帽路飞 1万+

实战六十四:基于机器学习朴素贝叶斯的豆瓣Top250影评的情感分析与预测 附完整源码和数据

实战六十四:基于机器学习朴素贝叶斯的豆瓣Top250影评的情感分析与预测 附完整源码和数据

1563

SqlServer大量更新引起同步链延时问题

前言:      在SQLServer数据库中,当我们对一个位于同步链上的表进行更新时,如果更新的记录数也非常多,几百或是几千万,那么批量更新该表会造成同步链的大量延时(甚至有可能崩溃掉,即使同步链不崩溃,等的人也要崩溃了)。    原因:     一般情况下,Replication是根据我们更改的数据一条条更改记录的,也就是说我们在发布端下达如下的语句:

5925

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MySQL 主从复制的问题及解决方案

复制功能是构建 MySQL 的大规模、高性能的基础,也就是所谓的 “水平扩展” 架构。我们可以通过为服务器配置一个或多个备库。同时,复制也是高可用性、可扩展性、灾难恢复、备份以及数据仓库等工作的基础。MySQL主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案。 一、复制概述 复制解决的基本问题是让一台服务器的数据与其他服务器保持同步。一台主库的数据可以同步到多台备库上,备库本身也可以被配置成另外一台服务器的主库。通过复制可以将读操作指向备库来获得更好的读扩展

程序猿进阶 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

MySQL 中长事务可能会导致哪些问题?

在 MySQL 中,长事务(Long-Running Transaction)是指执行时间较长、未及时提交或回滚的事务。长事务的存在可能引发一系列问题,严重影响数据库的性能、稳定性和并发处理能力。长事务是 MySQL 性能优化的重要关注点,可能导致锁阻塞、回滚段膨胀、主从延迟、死锁、MVCC 性能下降等问题。通过合理设计事务、优化 SQL、监控告警和调整参数,可以有效避免或缓解这些问题,确保数据库的高性能和高可用性。

篱笆院的狗的博客 1225

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

数据库面试必备:MySQL长事务可能导致的问题及解决方案

在MySQL中,长事务通常指执行时间较长(如超过数秒甚至数分钟)的事务。事务是指作为单个逻辑工作单元执行的一系列操作,要么全部执行,要么全部不执行。

qq_58299462的博客 1332

【有料】一文看懂MySQL的异步复制、全同步复制与半同步复制

(3) Master服务器接收到来自Slave服务器的IO线程的请求后,其上负责复制的IO线程会根据Slave服务器的IO线程请求的信息分批读取指定binlog日志文件指定位置之后的binlog日志信息,然后返回给Slave端的IO线程。MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从库上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。

daobuxinzi的博客 963

MySQL主从复制(7)——MySQL的三种复制方式:异步复制、半同步复制、全同步复制

MySQL主从复制(7)——MySQL的三种复制方式:异步复制、半同步复制、全同步复制 MySQL3.23.15版本引入了复制技术,复制的实现涉及到两个线程,一个在 Master,一个在 Slave。Slave的 I/O 和 SQL 功能作为一个线程,从 Master 获取到 event 后直接 apply,没有 relay log。这种复制方式使主备存在较大延迟,可能导致大量 binary log 没有备份到 Slave 端。从 MySQL4.0.2 版本开始将 Slave 端 event 读取和执行独立

睿思达DBA 2646

mysql5.6 主从不同步 存储过程大事务导致

总结(重建从库同步后,周期性出现延迟,过段时间后恢复,分析原因,由大事务存储过程导致) 1 遇到的问题经营计划主从不同步,从库sql和io进程双YES,但是Seconds_Behind_Master不为0 2 重建从库,进行主从同步,观察周六日是正常,在周一上午使用业务后,再次导致主从不同步 3 经分析relay-log,mysql_binlog 4 发现是大事务导致,大量的插入,更新,删...

weixin_30881367的博客 458

mysql存储过程与事务

但我们的用户服务器通常与数据库是在同一内网,大数据的访问的瓶颈会是硬盘的速度,而不是网速(可使用Redis缓存解决)。基本上没有较好的调试器,很多时候是用print来调试,但用这种方法调试长达数百行的存储过程简直是噩梦。且只能往前滚动---下一行下一行,所以性能不高,而且使用游标容易造成死锁,造成内存开发比较大,所以游标一般使用在存储过程,函数,触发器中。:整体的操作里,各部分操作不可分割,要么都执行,要么都不执行。例如复制,进行数据库的维护,例如主从分离,进行数据库的优化。end case 都一样。

Coder-coco的博客 1431

事务复制-大批量DEL操作

同事讨论删除发布表历史记录,导致订阅端数据滞后N小时。后来询问得知,发布表T只保留最近31天的数据,每天由Job删除31天前的数据,每天的删除量约400-500万条。默认情况下,在发布端删除400万条记录,这样的DEL将被作为一个大型的、多步骤事务发送到订阅服务器(有400万个命令写入到分发,并发送到订阅服务器)。如果将删除命令封装成存储过程,并且复制存储过程的执行,则复制将仅发送在订阅...

a86793222的博客 232

MySQL主从复制

一、MySQL主从复制原理 在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用「主从复制」。 比如:在复杂的业务系统中,有一句sql执行后导致锁表,并且这条sql的的执行时间有比较长,那么此sql执行的期间导致服务不可用,这样就会严重影响用户的体验度。 主从复制中分为「主服务器(master)「和」从服务器(slave)」,「主服务器负责写,而从服务器负责读」,Mysql的主从复制的过程是一个「异步的过程」。 这样读写分离的过程能够是整体的服务性能提高,即使写操作时间

m0_62473957的博客 2万+

mysql 不同步存储过程_mysql5.6 主从不同步 存储过程大事务导致

总结(重建从库同步后,周期性出现延迟,过段时间后恢复,分析原因,由大事务存储过程导致)1 遇到的问题经营计划主从不同步,从库sql和io进程双YES,但是Seconds_Behind_Master不为02 重建从库,进行主从同步,观察周六日是正常,在周一上午使用业务后,再次导致主从不同步3 经分析relay-log,mysql_binlog4 发现是大事务导致,大量的插入,更新,删除,这是导致主从...

weixin_29332623的博客 233
上一篇: 创建触发器时提示错误信息:不能在 'inserted' 表和 'deleted' 表中使用 text、ntext 或 image 列
下一篇: Memcached专题文章(自已收藏的)
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值