ホームページ >バックエンド開発 >PHPチュートリアル >ループトラバーサルとデータベースから取得したデータの組み合わせのパフォーマンスが悪い場合はどうすればよいですか?
要件: 開始時間と終了時間に基づく毎日のデータの統計
データベースから取得された現在のデータには、次のような同じ構造を持つ約 10 個の 2 次元配列があります:
各配列には必須フィールドがあるため、これら 10 個の 2 次元配列を組み合わせる必要があります。考え方は次のとおりです:
日付に基づいてデータを検索します
結合したい最終的なデータ構造:
リーリーしかし、その間のパフォーマンスは非常に悪いようで、長時間待機した後、データを使い果たすことができません:
最大実行時間の 30 秒を超えています
何か良い提案はありますか?
要件: 開始時間と終了時間に基づく毎日のデータの統計
データベースから取得された現在のデータには、次のような同じ構造を持つ約 10 個の 2 次元配列があります:
各配列には必須フィールドがあるため、これら 10 個の 2 次元配列を組み合わせる必要があります。考え方は次のとおりです:
日付に基づいてデータを検索します
結合したい最終的なデータ構造:
リーリーしかし、その間のパフォーマンスは非常に悪いようで、長時間待機した後、データを使い果たすことができません:
最大実行時間の 30 秒を超えています
何か良い提案はありますか?
ループに問題があり、無限ループが発生しています。各ループの $start_time と $end_time を出力できます。これはstrtotime($start_time) < strtotime($end_time)
常に true