作成したいくつかのスクリプトを使用して、読み込み時間を最小限に抑えようとしています。開発者の API リソースまたは RSS フィードを介して複数の JSON または XML API に接続しており、新しい行のみを mysql データベースに挿入する方法を見つけようとしています。
私はINSERT IGNORE関数を使用しましたが、うまく機能しますが、問題は、UNIQUEキーが重複している場合、さまざまな行をすべてロードし、挿入を無視することです. 私がやりたいのは、行が異なる場合にのみ行を挿入しようとする、より高速に実行されるスクリプトを作成することです。
in_array() 関数を実行して DB の一意のキーをクエリすることを考えましたが、最終的には、配列が大きくなりすぎて処理できなくなり (つまり、1,000,000 レコード)、一意のものを挿入する前に配列内にあるかどうかを確認します。
これを行うより良い方法はありますか?既にデータベースにあるレコードに WHERE 句を使用して mysql で簡単に実行しましたが、DB が非常に大きくなる方法を考慮すると、XML API から抽出するのは少し難しくなります。