Navigation

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    UNSOLVED 自定义代码,数据库死锁

    问答区
    自定义代码
    3
    3
    44
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Robin
      Robin last edited by

      源端: MySQL5.6
      对端: MySQL5.7
      数据问题产生阶段:全量
      CloudCanal版本:2.0.1.5
      问题描述:全量同步时,数据库出现死锁
      源表

      -- auto-generated definition
      create table t_chat_log_statistics
      (
          id                  int auto_increment comment 'id'
              primary key,
          chat_log_id         int              not null comment '',
          related_id          varchar(64)      not null comment '',
          channel             varchar(255)     null comment '',
          chat_type           int(2)           null comment '',
          call_date           datetime         null comment '',
          total_call_time     int              null comment '',
          call_end_date       datetime         null comment '',
          chat_time           bigint default 0 null comment '',
          first_province_id   varchar(6)       null comment '',
          first_city_id       varchar(6)       null comment '',
          first_county_id     varchar(6)       null comment '',
          first_room_id       varchar(64)      null comment '',
          connect_province_id varchar(6)       null comment '',
          connect_city_id     varchar(6)       null comment '',
          connect_county_id   varchar(6)       null comment '',
          connect_room_id     varchar(64)      null comment '',
          state               int(2) default 0 null comment '',
          check_status        int(2) default 0 null comment '',
          unified_code        varchar(255)     null comment '',
          constraint related_id_UK
              unique (related_id)
      )
          charset = utf8mb4;
      
      create index chat_log_id
          on t_chat_log_statistics (chat_log_id);
      
      create index connectAreaId
          on t_chat_log_statistics (connect_county_id)
          comment '';
      
      create index consult_UK
          on t_chat_log_statistics (related_id, call_date, chat_time, first_county_id, connect_county_id, state)
          comment '';
      
      create index firstAreaId
          on t_chat_log_statistics (first_county_id)
          comment '';
      
      create index hzgh_cx
          on t_chat_log_statistics (call_date, first_room_id);
      
      create index room_id
          on t_chat_log_statistics (first_room_id, connect_room_id)
          comment '';
      

      目标表

      -- auto-generated definition
      create table consult_video_log_statistics
      (
          id                  int auto_increment comment 'id'
              primary key,
          chat_log_id         int              not null comment '',
          related_id          varchar(64)      not null comment 'related_id',
          channel             varchar(255)     null comment '',
          chat_type           int              null comment '',
          call_date           datetime         null comment '',
          total_call_time     int              null comment '',
          call_end_date       datetime         null comment '',
          chat_time           bigint default 0 null comment '',
          first_province_id   varchar(6)       null comment '',
          first_city_id       varchar(6)       null comment '',
          first_county_id     varchar(6)       null comment '',
          first_room_id       varchar(64)      null comment '',
          connect_province_id varchar(6)       null comment '',
          connect_city_id     varchar(6)       null comment '',
          connect_county_id   varchar(6)       null comment '',
          connect_room_id     varchar(64)      null comment '',
          state               int    default 0 null comment '',
          check_status        int    default 0 null comment '',
          unified_code        varchar(255)     null comment '',
          evulation_status    varchar(10)      null comment '',
          consult_status      varchar(10)      null comment '',
          constraint related_id_UK
              unique (related_id)
      )
          comment '';
      
      create index chat_log_id
          on consult_video_log_statistics (chat_log_id);
      
      create index connectAreaId
          on consult_video_log_statistics (connect_county_id)
          comment '';
      
      create index consult_UK
          on consult_video_log_statistics (related_id, call_date, chat_time, first_county_id, connect_county_id, state)
          comment '';
      
      create index firstAreaId
          on consult_video_log_statistics (first_county_id)
          comment '';
      
      create index hzgh_cx
          on consult_video_log_statistics (call_date, first_room_id);
      
      create index room_id
          on consult_video_log_statistics (first_room_id, connect_room_id)
          comment '';
      

      2f8b6e18-cef6-4134-8933-1255254883a3-image.png

      junyu-cloudcanal 1 Reply Last reply Reply Quote 0
      • junyu-cloudcanal
        junyu-cloudcanal @Robin last edited by

        @robin 看日志像是对端数据库比较忙,然后我们批量写入之后,有死锁之类的。

        1 Reply Last reply Reply Quote 0
        • CloudCanal-万少
          CloudCanal-万少 last edited by

          是不是自定义代码里面的查询导致,可以先排查下自己的自定义代码是否存在问题?

          1 Reply Last reply Reply Quote 0
          • 1 / 1
          • First post
            Last post
          Copyright © 2020 ClouGence, Inc.备案号:浙ICP备20007605号-2