タイプTEXT
が小さすぎます (お気づきのように、最大 64K までしか保持できません)。を使用MEDIUMTEXT
して 16M に到達することも、LONGTEXT
それ以上を取得することもできます。ストレージ要件 (行ごとに 1 バイト余分に必要) を考えると、16M を超える可能性が少しでもある場合は、LONGTEXT
.
しかし、なぜDBにデータを保存しているのか疑問に思うべきだと思います。プラットフォームの間接的な要件でない限り (たとえば、ORM を使用する方が簡単ですが、ファイル ストレージにはアドホックな列データ ドライバーが必要です)、または全文インデックス作成機能を利用したい場合を除き、保存する方が便利な場合があります。データを個別のファイルとして保存し、ファイル名のみをデータベースに保存します (または、tablename_primarykeyvalue.html
ファイル名として使用することで、ファイル名の保存要件も節約できます)。
「セパレート ストレージ」方式では、データの取得とバックアップが複雑になります。一方、バックアップはより小さく高速になり、ディスク使用量が少なくなり、セキュリティ モデルで許可されている場合は、データベースを完全にバイパスしてファイルへの直接アクセスを許可できます。たとえば、ブログ投稿を保存している場合は、 AJAX を介してそれらを取得し、データベースの負荷を軽減し、ブラウザーのキャッシュ戦略を活用できます (また、一部のプラットフォームでは、圧縮ファイルを直接提供できるため、速度が向上し、CPU が節約されます)。
この投稿非常に大きなフィールドは MySQL データベースに悪影響を及ぼしますか? は、MySQL TEXT ストレージを提唱していますが、それを望まない理由についてもいくつかの考慮事項を示しています。
アップデート
ローカルホストでは、すべて正常に動作します。
危険だ、ウィル・ロビンソン!開発データベースと実稼働データベースが同期されていlocalhost
ない限り、それが機能する方法はありません。つまり、ローカルホストとリモートにあります。質問は、2 つのデータベース間で他に何が異なる可能性があるかということです。ご質問とは関係ありませんが、ぜひチェックしていただきたい内容です!MEDIUMTEXT
TEXT