MySQL: ОШИБКА Код: 1205 Превышен тайм-аут ожидания блокировки - Обновление таблицы 1 с 1 значениями из таблицы 2, где эти 1 значения ISNULL - PullRequest
0 голосов
/ 24 сентября 2019

Редактировать: я нашел длительный запрос, который заблокировал таблицы в вопросе.Фактически это была первая итерация запроса, который я пытаюсь выполнить - тайм-аут и блокировка таблиц.Но запрос продолжает выполняться до истечения времени ожидания и снова блокируется.Что мне делать?

У меня есть две таблицы с одинаковой точной схемой.Единственное отличие состоит в том, что ops_weekly_sla_notes имеет три поля, заполненные данными, которых нет в некоторых записях в ops_weekly_sla.

Я попытался использовать объединение, подзапрос, даже просто обновить одну запись,Ничего не хочет работать.Я прочитал, что ошибка связана с ожиданием снятия блокировки - что я недостаточно обучен на MySQL, чтобы знать, как устранить неполадки.Я опубликовал статус INNODB ... любая помощь будет принята с благодарностью.

Джим

UPDATE ops_weekly_sla s
        JOIN
    ops_weekly_sla_notes n ON s.EMTrackingNumber = n.EMTrackingNumber 
SET 
    s.MetSLA = n.MetSLA
WHERE
    ISNULL(s.MetSLA);

-- -----------------------------------------------------    

UPDATE ops_weekly_sla s
        JOIN
    ops_weekly_sla_notes n ON s.EMTrackingNumber = n.EMTrackingNumber 
SET 
    s.MetSLA = n.MetSLA
WHERE
    s.EMTrackingNumber = 'DEP-01270116';

-- -----------------------------------------------------    

UPDATE ops_weekly_sla s
SET 
    s.MetSLA = n.MetSLA
WHERE
    s.EMTrackingNumber = n.EMTrackingNumber;

-- -----------------------------------------------------    

UPDATE ops_weekly_sla s
SET 
    s.MetSLA = n.MetSLA
WHERE
    s.EMTrackingNumber = n.EMTrackingNumber
    s.EMTrackingNumber = 'DEP-01270116';

Показать движок Статус INNODB:

 =====================================
 190924 12:19:47 INNODB MONITOR OUTPUT
 =====================================
 Per second averages calculated from the last 59 seconds
 -----------------
 BACKGROUND THREAD
 -----------------
 srv_master_thread loops: 765 1_second, 765 sleeps, 63 10_second, 157 background, 157 flush
 srv_master_thread log flush and writes: 766
 ----------
 SEMAPHORES
 ----------
 OS WAIT ARRAY INFO: reservation count 3603, signal count 3599
 Mutex spin waits 7152, rounds 181685, OS waits 3144
 RW-shared spins 61, rounds 1830, OS waits 61
 RW-excl spins 0, rounds 60, OS waits 2
 Spin rounds per wait: 25.40 mutex, 30.00 RW-shared, 60.00 RW-excl
 ------------
 TRANSACTIONS
 ------------
 Trx id counter 345DDC
 Purge done for trx's n:o < 345DCC undo n:o < 0
 History list length 595
 LIST OF TRANSACTIONS FOR EACH SESSION:
 ---TRANSACTION 345DDB, not started
 MySQL thread id 6300, OS thread handle 0xe64, query id 120540 tx1ylt5w2mtn2.global.ds.honeywell.com 129.235.154.202 jconnors
 SHOW ENGINE INNODB STATUS
 ---TRANSACTION 0, not started
 MySQL thread id 6190, OS thread handle 0xb1c, query id 119577 tx1ylt5w2mtn2.global.ds.honeywell.com 129.235.154.202 jconnors
 ---TRANSACTION 0, not started
 MySQL thread id 6175, OS thread handle 0xa64, query id 119575 tx1ylt5w2mtn2.global.ds.honeywell.com 129.235.154.202 jconnors
 ---TRANSACTION 345DCE, ACTIVE 2301 sec fetching rows, thread declared inside InnoDB 204
 mysql tables in use 2, locked 2
 1298 lock struct(s), heap size 129464, 77053 row lock(s)
 MySQL thread id 6191, OS thread handle 0xde8, query id 114065 tx1ylt5w2mtn2.global.ds.honeywell.com 129.235.154.202 jconnors Sending data
 UPDATE ops_weekly_sla s
          JOIN
      ops_weekly_sla_notes n ON s.EMTrackingNumber = n.EMTrackingNumber
  SET 
      s.MetSLA = n.MetSLA
  WHERE
      ISNULL(s.MetSLA)
 --------
 FILE I/O
 --------
 I/O thread 0 state: wait Windows aio (insert buffer thread)
 I/O thread 1 state: wait Windows aio (log thread)
 I/O thread 2 state: wait Windows aio (read thread)
 I/O thread 3 state: wait Windows aio (read thread)
 I/O thread 4 state: wait Windows aio (read thread)
 I/O thread 5 state: wait Windows aio (read thread)
 I/O thread 6 state: wait Windows aio (write thread)
 I/O thread 7 state: wait Windows aio (write thread)
 I/O thread 8 state: wait Windows aio (write thread)
 I/O thread 9 state: wait Windows aio (write thread)
 Pending normal aio reads: 0 [0, 0, 0, 0] , aio writes: 0 [0, 0, 0, 0] ,
  ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
 Pending flushes (fsync) log: 0; buffer pool: 0
 1613 OS file reads, 5257 OS file writes, 444 OS fsyncs
 0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
 -------------------------------------
 INSERT BUFFER AND ADAPTIVE HASH INDEX
 -------------------------------------
 Ibuf: size 1, free list len 5, seg size 7, 0 merges
 merged operations:
  insert 0, delete mark 0, delete 0
 discarded operations:
  insert 0, delete mark 0, delete 0
 Hash table size 222149, node heap has 106 buffer(s)
 0.00 hash searches/s, 0.00 non-hash searches/s
 ---
 LOG
 ---
 Log sequence number 22786537962
 Log flushed up to   22786537962
 Last checkpoint at  22786537962
 0 pending log writes, 0 pending chkp writes
 243 log i/o's done, 0.00 log i/o's/second
 ----------------------
 BUFFER POOL AND MEMORY
 ----------------------
 Total memory allocated 114835456; in additional pool allocated 0
 Dictionary memory allocated 81920
 Buffer pool size   6848
 Free buffers       1747
 Database pages     4988
 Old database pages 1821
 Modified db pages  0
 Pending reads 0
 Pending writes: LRU 0, flush list 0, single page 0
 Pages made young 0, not young 0
 0.00 youngs/s, 0.00 non-youngs/s
 Pages read 1602, created 3386, written 4840
 0.00 reads/s, 0.00 creates/s, 0.00 writes/s
 Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
 Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
 LRU len: 4988, unzip_LRU len: 0
 I/O sum[0]:cur[0], unzip sum[0]:cur[0]
 --------------
 ROW OPERATIONS
 --------------
 1 queries inside InnoDB, 0 queries in queue
 1 read views open inside InnoDB
 Main thread id 2232, state: waiting for server activity
 Number of rows inserted 249812, updated 22520, deleted 0, read 4107525217
 0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 492956.15 reads/s
 ----------------------------
 END OF INNODB MONITOR OUTPUT
 ============================
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...