美文网首页简书付费文章
第9节:重点Event WRITE_ROWS_EVENT/DEL

第9节:重点Event WRITE_ROWS_EVENT/DEL

作者: 重庆八怪 | 来源:发表于2020-03-08 16:56 被阅读0次

    一、WRITE_ROWS_EVENT

    (1)WRITE_ROWS_EVENT 的作用

    本Event是‘Insert’语句生成的Event。主要用于记录‘Insert’语句的after_image实际数据。其中还包含table_id、映像位图、字段数量、行数据位图等信息。实际上所有的DML语句虽然客户端看来是一条语句,但是Event记录的时候是以行为单位的,而且是更改一行记录一行,第14节将详细说明这种流程。

    (2)源码重要接口(不关心源码可以不理会)

    本Event和后面的UPDATE_ROWS_EVENT和DELETE_ROWS_EVENT都来自同一个父类Rows_log_event。

    主库端
    初始化构造 Write_rows_log_event::Write_rows_log_event(THD* , TABLE* , const Table_id& table_id,bool is_transactional,const uchar* extra_row_info)
    数据写入函数 Rows_log_event::do_add_row_data
    写入binlog cache Rows_log_event::write_data_header Rows_log_event::write_data_body
    从库端
    读取Event构造 Write_rows_log_event(const char *buf, uint event_len,const Format_description_event *description_event)
    应用 Rows_log_event::do_apply_event
    (3)主体格式

    (图9-1):

    相关文章

      网友评论

        本文标题:第9节:重点Event WRITE_ROWS_EVENT/DEL

        本文链接:https://www.haomeiwen.com/subject/nvfjdhtx.html