質問: 毎日更新される40万から50万のアイテムに関する情報を保存するデータプロバイダー(REST Api)があります。呼び出すことができるAPIメソッドは、1000アイテムの情報のみを返します(ただし、すべてのデータをループできるようにページ付けメカニズムがあります)。 私はPHP / MySQLを使用しており、私のタスクは、このAPIによって提供されるデータに対してWebサイトデータベース(10kから100kのアイテムを含む)をチェックすることです。 WebサイトデータベースのアイテムIDがプロバイダーデータベースに存在することを確認するだけです。そうでない場合は、Webサイトデータベースからレコードを削除します。 これを毎日行うための最良の方法は何でしょうか? 最初にループを実行し、データプロバイダーからすべてのデータを取得して、それをファイルに保存する必要がありますか? (それが400-500k IDであることを考えると、配列ではうまくいかないと思います)次に、ローカルデータベースの各IDをそのファイルと照合しますか?
回答: ### 答え : #### 解決: 私は「最適化クラブのルール」、特にルール1と2を参照します。 1. あなたは最適化しません。 2. 最初に測定せずに最適化することはありません。 したがって、最初に考えたもので機能するソリューションを構築します。次に、そのパフォーマンスを測定します。パフォーマンスが悪い場合は、そのどの部分が遅いか(サーバーの応答/データの保存/データのループ)を確認してから、最適化について考え始めてください。 これは特に、「アレイでは機能しないと思われる400〜500kのIDであると考える」に対応しています。試行して失敗しましたか?