MySQL を使用しており、テーブル全体を 1 日 2 回 CSV からのデータに置き換える必要がある ~110 万レコードの InnoDB テーブルがあります。
私がこれまで行ってきたことは、テーブルを切り捨ててから、mysqlimport を使用して 1 日に 2 回、新鮮な CSV からテーブルを再作成することでした。これにより、約 160 秒のダウンタイムが発生します。最初は問題ないと言われていたのですが、そうではなくなりました。
これを行う唯一の方法は、ステージング テーブルとプロダクション テーブルを用意することです。ライブクエリは本番環境に移行し、データベースを再作成する必要がある場合は、ステージングを切り捨て、mysqlimport で CSV をそこにインポートします。その後、ステージングに古いデータベースが含まれ、本番環境がデータベースになるように名前を交換します。新しくインポートされた CSV が含まれています。production が production2 になり、ステージングが production になり、さらに production2 が staging になるような中間名が必要になると思います。
誰かが別の解決策を持っていますか? テーブルはできるだけ早くインポートする必要があるため、mysqlimport を使用しています。ダウンタイムは最小限に抑える必要があります。