1. TEXTとBLOBの違い TEXT ファミリと BLOB ファミリの唯一の違いは、BLOB 型は照合や文字セットなしでバイナリ データを格納するのに対し、TEXT 型は文字セットまたは照合を持つ点です。簡単に言えば、中国語を保存する場合はTEXTを選択します。 2. デフォルト値の問題 厳密モードではデフォルト値を設定することはできません。設定すると、「デフォルト値を持つことはできません」というエラー メッセージが表示されます。 mysql> テーブル `test`.`text_blob`( を作成します。 -> `a_text` テキスト デフォルト ' ' , -> `b_blob` ブロブ -> ); エラー 1101 (42000): BLOB/TEXT 列 'a_text' にはデフォルト値を設定できません 理由: https://www.jb51.net/article/181667.htm
trict モードでは次の制限が適用されます。 1) NULLでないフィールドにNULL値を挿入することはサポートされていません 2) 自動増分フィールドに「値」を挿入することはできませんが、null値を挿入することはできます。 3). テキストフィールドのデフォルト値をサポートしていません 3. ソート MySQL は、TEXT 列と BLOB 列を他の型とは異なる方法でソートします。つまり、文字列全体ではなく、各列の最初の max_sort_length バイトのみがソートされます。 mysql> 'max_sort_length' のような変数を表示します。 +-----------------+-------+ | 変数名 | 値 | +-----------------+-------+ | 最大ソート長 | 1024 | +-----------------+-------+ セット内の 1 行 (0.00 秒) 4. プレフィックスインデックスを作成する 通常は、先頭の文字をインデックスとして設定するのが最適です。これにより、インデックス スペースが大幅に節約され、インデックスの効率が向上します。 テーブルtable1を変更し、キー(text1(1024))を追加します。 知識ポイントの拡張: MySQLフィールド設計仕様ではTEXT/BLOBデータ型の使用を避ける 1. 説明 休暇中に時間があれば、いくつかのテーブルの設計を見てみれば、多くの問題が見つかるでしょう。古いシステムには 100 を超えるフィールドがあり、その中には中程度のテキストが多く、データ量は 500 万未満です。開発仕様では、テーブル設計は 500 万のデータ量を超えてはならないと規定されています。テーブルが占めるディスク容量を確認したところ、120G でした。これは間違いなく大きなテーブルであり、最初に設計されたときには設計でこの点は考慮されていませんでした。一言で言えば、オンラインで機能する限り、誰が気にするでしょうか? MySQL 仕様 1. 1 つのテーブルには 500 万件を超えるレコードを含めないでください。同時に、1 つのテーブルが占有するディスク領域は 50G を超えてはなりません。それ以外の場合は、最適化とテーブルのパーティション分割を検討してください。 2. テキスト フィールド タイプを無効にします。これを使用する必要がある場合は、別のテーブルも設計する必要があります。 3. テキストフィールドタイプを無効にする理由 1. パフォーマンスが非常に悪い。ソートなどの操作を実行する場合、メモリ内の一時テーブルは使用できず、ディスク上の一時テーブルを使用する必要があります。 2. TEXT または BLOB 型ではプレフィックス インデックスのみを使用でき、MySQL ではインデックス フィールドの長さに制限があります。 4. 解決策 標準を設定し、それを厳格に施行します (実装は困難です)。1 人または 2 人の DBA が、数十または数百のビジネス システム、数万のテーブル、数百万のフィールドを手動で確認することは不可能です。最終的には、インテリジェントな監査システムに依存します。 MySQL で TEXT/BLOB 型を使用する際の注意点について詳細に解説したこの記事はこれで終了です。MySQL で TEXT/BLOB 型を使用する際のより詳しい情報については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: WeChatアプレット開発によりホームページポップアップボックスアクティビティガイダンス機能が実現
>>: Linux プラットフォームでの Zabbix エージェントのインストールと設定方法
目次1. 概要1.1 厳密モードとは何ですか? 1.2 厳密モードの目的2. 厳密モードを有効にする...
Tomcatはプロジェクトにアクセスします。通常はIP + ポート + プロジェクト名です。 Ngi...
ザビックスZabbix ([`zæbiks]) は、WEB インターフェースに基づいて分散システム監...
zhangxinxu より https://www.zhangxinxu.com/wordpress...
環境: 1. CentOS6.5 X64 2.mysql-5.6.34-linux-glibc2.5...
Linuxインスタンスでpipを使用する際のタイムアウト問題を解決する方法pip は最も人気のある ...
Docker を正式に使用する前に、まず Docker でよく使用されるコマンドに慣れておきましょう...
この記事では、ドメイン名の書き換えとワイルドカードドメイン名の解決を行うための Nginx の設定方...
目次1. Dockerコンサルの概要2. nginxとconsulをベースにした自動検出と高可用性の...
以前、MySQL データベースのデュアルマシン ホット スタンバイの設定方法を紹介しました。ご興味の...
プロジェクトの要件は、日付と時刻を選択し、現在の時刻以降の時刻のみを選択し、最小レベルを分単位で無効...
テスト: Chrome v80.0.3987.122 は正常です方法は2つあります。通常のラベルの位...
ポート80も設定されています。まずファイアウォール設定ファイルを入力しますシェル># vim ...
1. ルートパスワードの設定と変更mysql が起動しているかどうかを確認します。起動していない場合...
ビュー:一時テーブルを繰り返し使用する場合、将来の使用を容易にするために別名を付けることができます。...