この記事はharacane.github.ioの「MySQLのBULK INSERTでデッドロックを回避する」のTL;DRです。
TL;DR
ActiveRecord::StatementInvalid: Mysql2::Error: Deadlock found when trying to get lock; try restarting transaction: INSERT INTO
books
(id
,name
) VALUES ...
というエラーが出たので、ソートしてからBULK INSERTするようにしてギャップロックのデッドロックを解消しました。
詳しい原因や対応などについては、以下のブログ記事をご覧ください。