1

簡単な質問です。SQL データベースにいくつかの異なるモデルが格納されています。バイトデータ、大規模なマルチフィールドユーザーデータテーブルなどを含む画像レコードのテーブル。これらのモデルはすべて主キーが必要です。ほとんどの初心者向けチュートリアルでは、ID に int を使用しています。これは標準的でプロフェッショナルです。長さが可変で、1 :S で始まるため、int の使用を開始するのは奇妙だと思います。

素人の質問で申し訳ありませんが、グーグルでこの件に関する適切な資料を見つけることができませんでした。

4

4 に答える 4

1

INTまたはその他の整数データ型を主キーまたは ID 列として使用することについて、暗黙のうちにプロフェッショナルではないことは何もありません。それはあなたのビジネスニーズに依存します。プログラミングをできるだけシンプルに保つために、INTデータ型は多くのビジネス ニーズに適した選択です。

  • 約 21 億の一意のレコードを表すことができます。
  • 最新のハードウェアでは、最小限のハードディスク容量しか消費しません。
  • SELECTs とsは高速ですUPDATE
  • レコード数が制限を超える恐れがある場合、より大きな積分にリファクタリングするのはかなり簡単です。BIGINTデータベースに入れるよりも多くのレコードをアドレス指定できます。真剣に。

一体型主キーを使用したくない理由の 1 つは、次のとおりです。

  • グローバルな一意性には a Guid(またはUNIQUEIDENTIFIERSQL Server の用語で) を使用できます。つまり、データを別の場所に移行する場合でも、主キーは一意である必要があります。
于 2012-07-25T08:09:24.907 に答える
0

Guidtype は ID として使用されることもあります。固定長、グローバルな一意性、予測不可能性など、いくつかの利点があります。また、検索パフォーマンスの低下や覚えにくいなどの問題もあります。

于 2012-07-25T07:42:53.367 に答える
0

はい、int業界標準です。

データベースuint以外でも、整数を表すための C# コードやその他のバリアントを目にすることはめったにありません。配列byteで使用されることもあります。すべての可能性をカバーするのに十分な大きさではない場合longに使用されます。int

always を使用する利点の 1 つは、異なる整数型間のキャストを気にせずに変数intを渡すことができることです。id

于 2012-07-25T07:32:55.753 に答える
0

これは 100% 問題なく、広く使用されています。long最大値が大きいため、主キーに s を使用するものもあります。ただし、ほとんどの場合は必要ありません。

于 2012-07-25T07:33:17.283 に答える