MySQLのはなぜデジタル自動インクリメントの主キーを行いますか?

なぜ1.MySQLデジタル自動インクリメントの主キーはありますか?

まず第一に、我々の使用はint型である理由、varchar型を入力しません

  • INTは常に4バイトで固定され、そしてチャーは1〜255バイトであります

利点

  1. 省スペース、省電力CPUのオーバーヘッド
  2. 使用時には、典型的には、主キーのインデックス、使用プラスチック複数のインデックスをメモリにロードすることができ、性能を向上させます
  3. 使用プラスチックだけAUTO_INCREAMENT使用すること

短所

  • ロック競合の問題が発生する
    表Aクエリまたは更新中のデータに対する操作は、(前面ジョブがまだ完了していない)いくつかの点で、ユーザA、ユーザB、ユーザは、同時にまたは連続プロピオネートできます。スレッドは、更新操作を必要とするとき、我々は排他的にアクセスを取得する必要があります。そのアップデートが完了するまで、更新時には、テーブルにアクセスする他のすべてのスレッドが待機しなければなりません。このとき、ロックが競争上の問題につながります。

2.なぜ、主キーなしでは生きられませんか?

  • 主キーは、私たちはラインの変更を確保することができるか、テーブルで指定された削除することを確実にするために、一意の識別子として機能します

二つの条件に主キーを持っている必要があります

  1. どの2つの行が同じ主キー値を持つことはできません
  2. 各行は、主キー(主キー列のNULL値を許可しない)を有していなければなりません

主キーの順序を選択しますか?

  • 主キーフィールドとして増加から関係なく、サービス内容の選択の(のみ、このいずれかを選択)
    • 使用して、新しいデータが順次埋め終わりに挿入され、主キーをインクリメントし、オペレーティングシステムは、書き込み用の別のページを開き、不使用のエネルギー自給主キー、マスターキーの値がランダムであれば、その後に挿入します既存のインデックス・ページの特定の場所に挿入する必要がある場合。その後、データはターゲット・ページを移動する必要があり、その後、ディスクから読み込まれ、オーバーヘッドの多くを追加し、メモリの断片化が発生しやすいでしょう。
  • 参照
公開された257元の記事 ウォンの賞賛223 ビュー320 000 +

おすすめ

転載: blog.csdn.net/csdn_kou/article/details/103578317
おすすめ