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 エージェントのインストールと設定方法
データ操作とメンテナンスに少しでも知識のある人なら、MySQL 5.5 以前では再生に単一の SQL...
目次1. インストール2. videojsの紹介3. コンポーネントでのテストと使用1. 基本的な自...
Jsでのこれの深い理解JavaScriptスコープはstatic scopeスコープですが、 Jsの...
目次1. Typescriptの紹介2. 設定ファイル webpack 設定3. プロジェクトに.t...
1. はじめにGit は、規模の大小を問わずあらゆるプロジェクトを俊敏かつ効率的に処理するために使用...
インターネット上には多くのインポート方法があり、公式も3つのインポート方法を提供していますが、インポ...
問題の説明: Macを購入し、初めてMySQLをインストールしました。初期パスワードが分かりません。...
<テンプレート> <div class="demo">...
目次背景目的分割前プロセス設計ディレクトリ構造の設計問題分割後プロセス設計ディレクトリ構造の設計問題...
目次1. SQLインジェクションの概要2. SQLインジェクション攻撃の全体的な考え方SQLインジェ...
今日は奇妙なネットワーク問題に遭遇しました。調査プロセスといくつかの構成状況を記録し、Linux で...
今日、CentOS6.2 をインストールしていたところ、ハード ドライブの検出段階を通過できませんで...
Flex レイアウトを使用すると、水平に配置すると、すべての子項目の高さが同じになることがわかります...
目次docker システム df docker システム プルーンNoneオブジェクトをクリーンアッ...
一部の Web ページは大きく見えなくても開くのに非常に時間がかかる場合があります。一方、他の We...