検索

ホームページ  >  に質問  >  本文

MySQL数据表中,用户id这样的自增字段,应该是数字型还是字符型?各有什么优缺点?

如题,设计一张表,id这种自增字段该怎么选择类型?

大家讲道理大家讲道理2788日前692

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-17 15:53:39

    増加する整数を使用します。

    リーリー

    id は通常、負の数ではないため、UNSIGNED を使用します。
    id は ID カードに相当し、NULL にすることはできません。
    なぜ整数なのかというと、次の 2 つの要素に関係しています。

    1. はスペースを占有します。

    2. 効率。

    3. MySQL の AUTO_INCREMENT は文字型をサポートしていません。言うまでもなく、
      は空間を占有し、INT のみを占有します。非負に設定すると、表現できる範囲は 2 倍になります。このような大量のデータを表すために使用されます。4个字节-2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647)

    4. 効率はインデックスの構造に関係します。MySQL はインデックスのデータ構造として
    を使用しますが、自動増加する整数を使用すると、データの挿入は最大でもノードの

    のみになります。文字列を使用すると、どこにでも Inserted が発生する可能性があります。これは、ノードの B+树 が発生する可能性があることを意味します。次に、データ クエリ中、文字列比較は整数比較よりも遅くなります。 分裂 移动和分裂詳細については、次を参照してください:

    主キーの自動インクリメントにより、データベース挿入のパフォーマンスが低下しますか?もしそうなら、なぜこれほど多くの企業がまだそれを使用しているのでしょうか?


    最後に: 主キーは特定のデータ = =.. とは何の関係もないことを支持します。 したがって、主キーとして整数を使用することはより良い選択です。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 15:53:39

    数値化された便利なインデックス

    返事
    0
  • キャンセル返事