注: この記事はすべて Innodb ストレージ エンジンに基づいています。 1. MySQL ではなぜ自動インクリメント列 ID を主キーとして設定することを推奨しているのですか?
要約すると、自動インクリメント列を主キーとして使用すると、アクセス効率が最高になります。 2. 自動インクリメント列 ID は必ず連続している必要がありますか? 自動増分 ID の増分は必ずしも連続的ではありません。 まず、MySQL の自動インクリメント値の保存戦略を見てみましょう。
自動増分 ID が不連続になる原因となる状況としては、次のようなものが考えられます。
3.自動増分IDに上限はありますか? 自動インクリメント ID は整数フィールドです。成長 ID を定義するために int 型を使用することが多いのですが、int 型には上限があるため、成長 ID にも上限があります。 次の表に、int および bigint フィールド タイプの範囲を示します。
上記の表から、自動インクリメントフィールドが int signed 型を使用する場合、最大値は 2147483647 に達し、21 億を超え、int unsigned 型を使用する場合、最大値は 4294967295 に達し、42 億を超えることがわかります。もちろん、bigint はより広い範囲を表すことができます。 次に、自動インクリメント ID が最大値に達し、データを再度挿入すると何が起こるかをテストします。 create table t(id int unsigned auto_increment primary key) auto_increment=4294967295;insert into t values(null);// 行 4294967295 が正常に挿入されましたshow create table t;/* CREATE TABLE `t` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4294967295;*/ insert into t values(null);//キー 'PRIMARY' のエントリ '4294967295' が重複しています 実験から、自動インクリメント ID が最大値に達すると、拡張できないことがわかります。最初の挿入ステートメントでデータが正常に挿入された後、このテーブルの AUTO_INCREMENT は変更されず (4294967295 のまま)、2 番目の挿入ステートメントで同じ自動インクリメント ID 値が取得されます。挿入ステートメントを再度実行しようとすると、主キーの競合エラーが報告されます。 4. 自動インクリメント列をどのように維持すればよいですか? メンテナンスに関しては、次の 2 つの提案が提供されています。
上記は、MySQL 自動増分 ID について知っておく必要のある詳細です。MySQL 自動増分 ID の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Ubuntu 20.04 LTS で Java 開発環境を構成する
結論は幅の%: 包含ブロック(親要素)の幅に基づいて、親の制限を超える幅のパーセンテージを定義します...
1. Linux .NET Core の紹介Microsoft は常に自社のプラットフォームに対して...
目次1. サブクエリとは何ですか? 2. 自己結合3. 自然な結合4. 外部接続1. サブクエリとは...
1. システムインストールパッケージ yum -y インストール make gcc-c++ cmak...
Dockerfileの作成expressによって自動的に作成されたディレクトリを例にとると、ディレク...
目次01 sql_slave_skip_counter パラメータ02 スレーブスキップエラーパラメ...
table タグと td タグに境界線を追加すると、デフォルトでは次のように二重境界線が使用されます...
目次オブジェクトをマージするさまざまな方法(インターフェースを通じてデータを取得し、それをローカル ...
類似の構造:コードをコピーコードは次のとおりです。 <div></div>&...
この記事では、省と市の簡単な連携を実現するためのJavaScriptの具体的なコードを参考までに紹介...
日常の開発では、データベースの追加、削除、変更、クエリが一般的に行われるため、Mysql で NUL...
目次1. ページの概要2. 下限と上限3. ページディレクトリを使用する4. ページの実際の外観4....
前回の記事では、Ubuntu 上の webrtc ベースの多人数ビデオチャット サービスの詳細なコー...
目次序文yarn create は何をしますか?ソースコード分析プロジェクトの依存関係テンプレート構...
目次エフェクト表示コードリンクキーコード表形式データコンポーネントのネスト検証方法リセット方法完全な...