8

そのため、PostgreSQL を使用しているときに次のような動作を確認しました。

次のようなテーブルがあります。(id INTEGER ..., msg VARCHAR(2000)) 次に、2 つのプログラムを実行するAB、まったく同じことを実行します。つまり、20000 回の挿入と 20000 回の検索 (ID に基づく) を実行します。唯一の違いは、プログラムAが 2000 文字を含むメッセージを挿入するのに対しB、最大 10 文字を含むメッセージを挿入することです。

問題は、すべての挿入と取得の平均時間は、「より大きな」データを追加しているため、実際には意味をなさないAよりも常に約 15 ミリ秒短いことです。BA

なぜこれが起こっているのかについてのアイデアやヒントはありますか? システムのすべての文字を使用していない場合msg、残りのスペースを他の目的に使用するためmsg、システムがいっぱいになるとシステムが高速になる可能性がありますか?

@Dan Bracuk のコメントに基づく。私はさまざまなイベントで時間を節約し、次のことが起こることに気付きました。プログラムAでは挿入が非常に高速であることがかなりの回数ありますが、プログラムでBはこれは決して当てはまりません。そのため、平均しAてよりも高速ですBが、この動作を説明することもできません.

4

1 に答える 1