APIから、次の240時間の天気予報データを100の都市に対して取得するPHPプログラムがあります(合計24,000レコード、保存します1つのテーブルに)。プログラムは、すべての都市と毎時、気温、湿度、降水確率、スカイカバーと風速を取得します。このデータはJSON形式であり、すべてをデータベース、好ましくはmySQLに格納する必要があります。この作業は、すべての都市で1回だけ実行する必要があります。JSONオブジェクトの値を使用してDBテーブルを一括更新する
10分ごとに値を更新したいので、パフォーマンスは非常に重要です。誰かが私のテーブルをJSONの値でもっとも効率的に更新する方法を教えてくれれば、大きな助けになるでしょう。
これまでのところ、私は以下の戦略を試しました。
1)JSONをデコードして準備済みの文でループを使用して、各値を一度に更新するのが遅すぎます。
2)ストアドプロシージャを使用する{プロシージャにJSONオブジェクト全体を渡す方法がわからず、渡すことのできる個々のパラメータの数が限られていることがわかっています}
3)LOAD DATA INFILEを使用してください(csvファイルの生成が遅すぎます)。
4)CASEでUPDATEを使用して、sqlを動的に生成します(文字列が長すぎて実行が遅すぎます)。
必要に応じて追加情報をお知らせいたします。
私はこのAPIは、このようなトラフィックをブロックすることを100%確信しています。 –
申し訳ありませんが、導入時に私は物事を少し簡略化しましたが、それは私の質問のポイントではありません。私はjsonオブジェクトを持っており、それをDBに入れたいと思っています。 –