この記事は主に、MySQL インデックスの長さ制限の原理の分析を紹介します。サンプル コードを通じて詳細に紹介されており、皆さんの学習や仕事に一定の参考学習価値があります。困っている友人は参考にしてください。 索引 TextField はインデックスをサポートしていません。 MySQLにはインデックスフィールドの長さの制限がある InnoDB エンジンの各インデックス列の長さは 767 バイトに制限されており、すべてのインデックス列の合計長は 3072 バイトを超えることはできません。 MyISAM エンジンの各インデックス列の長さは 1000 バイトに制限されており、すべてのインデックス列の合計長は 1000 バイトを超えることはできません。 varchar の最大長は文字の長さを指します。データベースの文字セットが utf-8 の場合、1 文字は 3 バイトを占めます。したがって、UTF-8 文字セットでは、InnoDB エンジンによって作成される単一列インデックスの長さは 255 文字を超えることはできません。 MySQLのバージョンによってインデックスの長さの制限が異なります MySQL バージョン 5.5 では、大きなインデックス キー プレフィックスをサポートしない以前のバージョンの InnoDB との互換性を保つために、大きなプレフィックス インデックスを無効にする innodb_large_prefix が導入されました。 innodb_large_prefix を有効にすると、単一のインデックスの長さを 3072 バイトに制限できます (ただし、結合されたインデックスの合計の長さ制限は 3072 バイトのままです)。無効にすると、単一のインデックスの長さ制限は 767 バイトになります。 MySQL 5.5およびMySQL 5.6では、innodb_large_prefixはデフォルトで無効になっており、MySQL 5.7以降ではデフォルトで有効になっています。 MySQL 8.0では、innodb_large_prefixは削除されました。 このため、私のマシン(MySQL 8.0)では長さ 1024 文字(UTF8 文字セットでは 3072 バイト)のインデックスを作成できますが、サーバー(MySQL 5.5)では作成できません。 インデックスの長さ制限をテストするスクリプト: 使用テスト; 存在する場合はテーブルを削除します test_index_len; テーブルを作成する test_index_len(long_char varchar(1025) 主キー) ENGINE=InnoDB charset=utf8; 使用テスト; 存在する場合はテーブルを削除します test_index_len; テーブルを作成する テストインデックスの長さ( long_char varchar(24)、 origin_str varchar(1000)、 キー test_index(long_char, origin_str)) ENGINE=InnoDB charset=utf8; 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vue はボタンをクリックしてファイルをダウンロードする操作コードを実装します (バックエンド Java)
>>: IIS7 IIS8 リバースプロキシルールの記述、インストール、構成方法
目次Express ミドルウェアとは何ですか? Expressミドルウェアを作成するための要件Exp...
目次問題の説明1. 基本的な解決策2. 中間的な解決策3. 高度なソリューション4. ハードコアソリ...
この記事では、星空アニメーションを実現するための高度な CSS3 LESS のサンプルコードを次のよ...
序文MySQL のマスター/スレーブ レプリケーション関係は、厳密には「同期」または「マスター/スレ...
序文前回の記事では、主にグリッドシステムの基本原理を学び、簡単なケースを通してその原理を実践しました...
Docker でシェル コマンドを実行するには、コマンドの前に sh -c を追加する必要があります...
目次序文一般的な方法1. 親コンポーネントを介して子コンポーネントの発行イベントをリッスンしてpro...
WordPress のマルチサイト機能を使用すると、1 つの WordPress プログラムをインス...
まず、SFTP プロトコルと FTP プロトコルの違いを理解してください。ここでは詳細には触れません...
SQLはテーブル内の重複レコードをすべて見つけます1. テーブルには id と name の 2 つ...
インターネットで3レベルリンクを検索したところ、すべてオプションで書かれていました。突然、別の方法で...
序文配列は特別な種類のオブジェクトです。 js には実際の配列はなく、オブジェクトを使用して配列をシ...
この記事では、9グリッドクリックの色変更効果を実現するためのJavaScriptの具体的なコードを参...
質問は https://www.zhihu.com/question/440231149 から参照さ...
序文まずは最終的な効果を見てみましょう。私が自分で作った小さなデモです。まずEChartsの公式サイ...