При выполнении массового удаления Mysql я получаю эту ОШИБКУ "ОШИБКА 1206 (HY000) в строке 1: общее количество блокировок превышает размер таблицы блокировок" - PullRequest
0 голосов
/ 23 апреля 2020

Мы использовали Aws RDS в качестве службы для нашей Mysql службы БД.

Недавно мы перешли на локальную версию и использовали Mysql версию 8.0.19.

Есть несколько огромных таблиц, где настроен ежедневный скрипт оболочки, который выполняет резервное копирование ежедневных данных в ежемесячную таблицу. [Чтобы уменьшить вес на живых столах]

Работало нормально при использовании Aws RDS mysql. Когда я тестирую его в исходной базе данных, я получаю эту ошибку «ОШИБКА 1206 (HY000) в строке 1: общее количество блокировок превышает размер таблицы блокировок»

Вывод сценария:

#### Step1: Create table order_history_Apr_2020 if not exists ####

#### Step2: No.of records on date: 20200408 of order_history are: 4680371 ####

#### Step3: Inserting 4680371 records of order_history to table:order_history_Apr_2020 ####

#### Step4: No.of records on date: 20200408 of order_history_Apr_2020 are: 4680371 ####

#### Step5: 4680371 records of date 20200408 has been copied successfully to table: order_history_Apr_2020 ####

@@@@ Deleting 4680371 records of date 20200408 from order_history @@@@

ERROR 1206 (HY000) at line 1: The total number of locks exceeds the lock table size
@@@@ UNABLE TO DELETE RECORDS FOR 20200408 FROM gdae2_market.order_history @@@@

** У вставки нет проблем **

** При удалении я получаю эту ошибку **

Пожалуйста, предложите мне любые советы, чтобы избавиться от этой ошибки и

Как выполнять задания резервного копирования, не затрагивая живую таблицу

...