Mysql RELICATION对存过的处理是怎样的

介绍

本篇文章给大家分享的是有关Mysql RELICATION对存过的处理是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。


当时我在想,主人用近两个小时,是不是奴隶也用这么长时间么,

到奴隶一看,根本没有SQL在跑;
而且表里数据已经被清空;

通过测试,我们发现主人在应用存过时,在BINLOG里记录的是真正最后执行的DML操作,
比如:
# 101202 13:58:43服务器id 2, end_log_pos 15842,,,,查询,thread_id=4058, exec_time=0,,error_code=0
设置时间戳=1291269523/* ! */;从测试
删除id=NAME_CONST (& # 39; v_entry_id& # 39; 238)
/* ! */;
15842
# 101202 # 13:58:43服务器id 2, end_log_pos 15974,,,,查询,thread_id=4058, exec_time=0,,error_code=0
设置时间戳=1291269523/* ! */;从测试
删除id=NAME_CONST (& # 39; v_entry_id& # 39; 240)
/* ! */;
15974
# 101202 # 13:58:43服务器id 2, end_log_pos 16106,,,,查询,thread_id=4058, exec_time=0,,error_code=0
设置时间戳=1291269523/* ! */;从测试
删除id=NAME_CONST (& # 39; v_entry_id& # 39; 242)
/* ! */;

所以只要大师执行完后,就会马上应用到奴隶;


下面是一个删除数据的存储过程范例:
================================================
使用测试;
下降过程中如果存在delete_expired;
分隔符//
创建过程delete_expired (in_date日期)
,,开始
,声明做int默认0;
,,声明rowcnt int默认0;
,,声明v_entry_id int;
,,声明cur_del光标选择id从测试;
,,声明继续处理程序SQLSTATE & # 39; 02000 & # 39;设置完成=1;,,,
,,开放cur_del;
,,开始事务;
,,cursor_loop:循环
,,,,获取cur_del v_entry_id;
,,,,如果做=1然后离开cursor_loop;
,,,,如果结束,
,,,从测试,删除id=v_entry_id;
,,,,设置rowcnt=rowcnt + 1;
,,,,如果rowcnt=1000,那么
,,,,,设置rowcnt=0;
,,,,
,提交;,,,,开始事务;
,,,,如果结束,
,,结束循环cursor_loop;
,,提交;
,,关闭cur_del;
,,结束;//
分隔符;

调用delete_expired (& # 39; 2010 - 01 - 10 - & # 39;);
下降过程中如果存在delete_expired;
===========================================================

以上就是Mysql RELICATION对存过的处理是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

Mysql RELICATION对存过的处理是怎样的