Laravel красноречиво delete () создано большое количество строк Исключение превышено время ожидания ожидания блокировки - PullRequest
0 голосов
/ 08 мая 2020

Используя laravel на моем веб-сайте, я пытаюсь запланировать очередь для регулярного удаления 10 миллионов или строк.

Наличие

Data::where('fetch_stamp','<',$limit_3m_date)->delete();

равно работает на моем локальном сервере, но создает следующее исключение для производственного сервера:

PDOException: SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction in /home/forge/website.com/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:142

Читая мнения SO и Laracast, кажется, что все указывают на использование красноречивого простого метода delete () для удаления большого количества строк, но мне интересно действительно ли это эффективный подход?

Есть подсказки? спасибо

...