Используя 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 () для удаления большого количества строк, но мне интересно действительно ли это эффективный подход?
Есть подсказки? спасибо