ホームページ  >  記事  >  バックエンド開発  >  ループトラバーサルとデータベースから取得したデータの組み合わせのパフォーマンスが悪い場合はどうすればよいですか?

ループトラバーサルとデータベースから取得したデータの組み合わせのパフォーマンスが悪い場合はどうすればよいですか?

WBOY
WBOYオリジナル
2016-08-04 09:19:021039ブラウズ

要件: 開始時間と終了時間に基づく毎日のデータの統計
データベースから取得された現在のデータには、次のような同じ構造を持つ約 10 個の 2 次元配列があります:

リーリー

各配列には必須フィールドがあるため、これら 10 個の 2 次元配列を組み合わせる必要があります。考え方は次のとおりです:
日付に基づいてデータを検索します

。 リーリー

結合したい最終的なデータ構造:

リーリー

しかし、その間のパフォーマンスは非常に悪いようで、長時間待機した後、データを使い果たすことができません:
最大実行時間の 30 秒を超えています
何か良い提案はありますか?

返信内容:

要件: 開始時間と終了時間に基づく毎日のデータの統計
データベースから取得された現在のデータには、次のような同じ構造を持つ約 10 個の 2 次元配列があります:

リーリー

各配列には必須フィールドがあるため、これら 10 個の 2 次元配列を組み合わせる必要があります。考え方は次のとおりです:
日付に基づいてデータを検索します

。 リーリー

結合したい最終的なデータ構造:

リーリー

しかし、その間のパフォーマンスは非常に悪いようで、長時間待機した後、データを使い果たすことができません:
最大実行時間の 30 秒を超えています
何か良い提案はありますか?

ループに問題があり、無限ループが発生しています。各ループの $start_time と $end_time を出力できます。これはstrtotime($start_time) < strtotime($end_time)常に true

である必要があります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。