1

MySQL データベースには約 1000 行 (4 フィールド) があります。データベース内のデータがあまり頻繁に変更されないことはわかっています (データは GPS 座標です)。適切なスクリプトがロードされるたびにデータベースからこの情報を呼び出すほうがよいでしょうか、それとも、データをスクリプトに「ハード コード」し、データベースに変更を加えるときは単純に行う方がよいでしょうか。ハードコードされたデータも更新しますか?

これによりパフォーマンスが向上するかどうか疑問に思っていますが、私の一部では、これはベスト プラクティスではない可能性があると考えています。

ありがとう

4

2 に答える 2

2

座標をスクリプトにハードコーディングするのは得策ではありません。
SQL DB またはファイルから、開始時の 1000 座標を配列に読み込みます。

ただし、その読み取りは、各計算ステップではなく、起動時に 1 回だけ行ってください。

于 2013-01-31T00:29:16.043 に答える
1

変更が月に1〜2回発生する可能性があるという事実と、0.0063秒はそれほど多くないという事実を考えると(少なくとも、生死の問題であるか、非常に重要なウォールストリートの在庫である場合は、私の観点からはそうではありません)別の問題になるデータ)、SQLを使用することをお勧めします。もちろん、スクリプトの実行ごとに1回だけクエリを実行する限り。

実際、データをスクリプトにハードコーディングすると、数ミリ秒でパフォーマンスが向上する可能性があります。しかし、自問してみてください。ハードコードされたデータを維持するには、どれだけの追加作業が必要ですか。本当に確認したい場合は、データをハードコーディングしてスクリプトを1000回実行し、時間差を測定するバージョンのスクリプトを作成します。(ただし、このテストを行うだけでは、節約するよりも時間がかかる可能性があります...)

スクリプトが1日に5000回実行され、SQLがハードコードされた値を持つ場合と比較して0.01秒余分にかかる場合、ユーザーにとっては1日あたり合計50秒になります。ただし、ユーザーごとに違いに気付かない可能性があります。

于 2013-01-31T18:19:56.477 に答える