MySQLにビッグデータセット(ユーザー、企業、連絡先)がありますか?約100万レコード。
そして今、私は約100000レコードのインポートファイル(csv)から新しいユーザー、会社、連絡先をインポートする必要があります。ファイルからの記録には、3つのエッセンス(ユーザー、会社、連絡先)すべてのすべての情報が含まれています。さらに、本番環境ではLOAD DATAを使用できません(あまり多くの権限を持っていないだけです:()。
したがって、そのデータセットに適用する必要がある3つのステップがあります。-既存のDBデータと比較します-更新します(前の手順で何かが見つかった場合)-新しいレコードを挿入します
私はそれを行うためにサーバー上でphpを使用しています。私は2つのアプローチを見ることができます:
- ファイルからすべてのデータを一度に読み取り、このBIGアレイを操作して、これらの手順を適用します。
- または、ファイルから1行ずつ読み取り、各行を手順に通します
どのアプローチがより効率的ですか?CPU、メモリ、または時間の使用量
トランザクションを使用できますか?または、本番システム全体の速度が低下しますか?
ありがとう。