人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

大量のSQLを処理する場合(新しいデータ⇒INSERT 重複⇒UPDATE)

APIでデータをダウンロードをし、そのデータをDBに格納する際に現在、
INSERT INTO `sample` (a, b, c) VALUES('1','1','1') ON DUPLICATE KEY UPDATE a=a+1
(データが存在しない場合は挿入し、存在する場合はカラム「a」に1を足す)

として、データの数だけforでデータを回しています。

しかし一度に挿入したいデータ数が数万行の場合もあり、処理に時間が掛かるため、一度取得したデータをCSVなどでダウンロードしてBULK INSERTで挿入をしたら早くできるのでは思ったのですが、

BULK INSERT `sample`
FROM ‘ファイルのパス’
WITH (FIELDTERMINATOR = ‘区切り文字’,
ROWTERMINATOR = ‘改行文字列’
)

この場合、挿入は行えるものの、重複したデータが存在する場合のUPDATEが行えませんでした。

「大量のSQLを処理+重複するデータは上書き」できる方法が御座いましたらご教授頂けますと幸いです。

どうぞよろしくお願い致します。

●質問者: ビットさん
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● きゃづみぃ

updateするタイミングが 後でよいならば、とりあえずワークのテーブルに全部 突っ込んで 後で 更新をかけるというのは どうでしょうか?

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ