1

I have a table that has 18 million rows, and I found out today that I don't really need to know one of the foreign key columns depending on another column value.

My question is.

  • If I set that column to NULL instead of a foreign integer key that I really don't need, will this save space?

  • Is there any performance considerations if I set the foreign key to null on the row. Is it going to speed up the query or slow it down?

4

1 に答える 1

1

残念ながら、固定幅のデータ型は常に格納されます。NULL状態と not-NULL状態の唯一の違いは、対応するビットが null ビットマップに設定されているかどうかです。おそらく、これはクエリ時のデータ構造の解釈を高速化するためです。固定オフセット列値は、読み取りおよび書き込みアクセスに役立ちます。

ROWただし、または圧縮を使用PAGEすると、節約を実感できます (圧縮によって列が大幅に縮小されていないと仮定します)。

2 番目の点に答えるには、ここには十分な情報がありません。実行されるクエリによって異なります。

于 2013-09-25T22:54:39.990 に答える