質問

通常、テーブルにインデックスを作成するときは、通常、何があるか推測します。 Fill Factor テーブルがどのように使用されるか (多数の読み取りまたは多数の書き込み) の知識に基づいた推測に基づく必要があります。

より正確に判断するためのより科学的な方法はありますか Fill Factor 価値?

役に立ちましたか?

解決

実際の操作の大きなリストを実行して、さまざまなアクションの IO キューを確認してみるとよいでしょう。

各行のサイズや書き込みと読み取りの数など、それを制御する変数は多数あります。

基本的に:フィルファクターが高い = 読み取りが速く、低い = 書き込みが速い。

ただし、ほとんどすべての書き込みは、最初に検索する必要がある行のサブセットに対して行われるため、それほど単純ではありません。

例えば:FILL FACTOR を 10% に設定すると、ページ分割が発生する可能性は非常に低いにもかかわらず、単一行の更新ごとに、変更している行を見つけるのに 10 倍の時間がかかります。

一般に、フィルファクタは 70% (非常に高い書き込み) ~ 95% (非常に高い読み取り) です。

それはちょっとした芸術形式です。

フィルファクターは、アドレス帳のページとして考えるのが良いと思います。アドレスをより密に詰め込むほど、アドレスを変更するのは難しくなりますが、本は薄くなります。でもっとうまく説明できたと思います 私のブログ.

他のヒント

私は、パフォーマンスの向上を求めるのであれば、スキーマの調整、クエリの最適化、適切なインデックス カバレッジの確保など、他のことに時間を費やしたほうがずっと良い、と考えがちです。フィルファクターは、次の場合にのみ考慮する必要があるものの 1 つです。 知る システム内の他のすべてが最適であることを確認します。そんなこと言える人を私は知りません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top