この記事は主に、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 リバースプロキシルールの記述、インストール、構成方法
目次事業背景テクノロジーの活用技術的な問題デザインのアイデア😱 困惑と苦痛に満ちた顔🙄考え始める🌲デ...
今日は、新しく購入した Alibaba Cloud ECS 環境 (Ubuntu 16.04 LTS...
目次序文プロジェクトを初期化するデザインコードの実装オンデマンドロードオーディオを再生録音長押しイベ...
1. 環境整備Tencent Cloud Server CENTOS 7 バージョンDockerコン...
ポーリングアルゴリズムの紹介多くの人が職場で nginx を使用しており、その設定に精通しています。...
問題の説明nginx を設定することで、異なるポートを介して異なる Web アプリケーションにアクセ...
1. Apacheをインストールする $ sudo apt update && su...
ドキュメント オブジェクト モデル (DOM) は、プログラムがドキュメントのコンテンツ、構造、およ...
方法1: 値を追加する公式の説明を見るには MDN にアクセスしてください。優先度はどのように計算さ...
シナリオ: docker で tomcat を起動すると (Alibaba Cloud からダウンロ...
<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...
非準拠データがデータベースに入るのを防ぐために、ユーザーがデータを挿入、変更、削除、その他の操作を行...
まずサンプルコードを見てみましょう: 1. 共通パラメータ tcpdump -i eth0 -nn ...
目次1. はじめに2. バックアップとリカバリの簡単な定義3. 復旧計画で考慮すべきいくつかの要素4...
この記事では、適応解像度を実現するためのVue2.0の具体的なコードを参考までに紹介します。具体的な...