環境
PHP Version 7.1.19
MariaDB 10.3.8-MariaDB
PHPでテキストからDBに挿入するプログラムを書いています。
Aテキストから約500件ほどのデータを抽出、
DBにはAに該当するデータ行が約500~1000件
その中でテキストにだけ存在するデータをDBにinsertしたいと考えています。
また、その際は何がinsertされたのかを出力する必要があります。
例)
Aのテキストデータを配列にしたもの
Key | データ
aaa | bba
aab | bbb
aac | bbc
DB
id | key | データ
A | aaa | bba
A | aab | bbb
上記の場合はaacが新規データとしてinsertし、
aac|bbc
を出力するイメージです。
この場合、パフォーマンス良く処理を行うにはどうするのが良いでしょうか?
今の所、手っ取り早くON DUPLICATE KEY UPDATEで実行した後、CREATEDでselectしてしまうのが良いのかとも思うのですが、
いまいちしっくり来ません(500件のINSERT)これ以外に良い方法がありそうな気がしてます。
SELECT
*
FROM
(
VALUES
('a',1) ← ここを配列の要素をまわして、作成
,('b',2)
) AS 配列
としてjoin
他に良い案があればお教え頂ければと思います。
回答1件
あなたの回答
tips
プレビュー