2017-12-01 4 views
0

私はテーブルに1000以上のレコードを保存したいと思います。それは持っている:外側の.TXTファイルを持つMySQLテーブルに1000+(30〜50 KB)のテキストを保存する最適な方法は?

ID:自動インクリメントINT タイトル:VARCHAR(20) AUTHOR_ID:INT タイムスタンプ:unsigned int型 テキスト:TEXT(これが問題である) (+タグやカテゴリ)

「テキスト」フィールドには約30〜50キロバイトのテキストを格納する必要があります。しかし、私はこの分野では検索したくないですが、他の分野でしか検索しません。これらの大きなテキストを.TXTファイルに保存することをお勧めしますか?データベースクエリがより高速になるか?

+2

TEXT列を別々の表に保存する方がよいでしょう。また、TEXT列が必要なときにテーブルに参加します。 –

答えて

2

TEXTとBLOBはテーブル外に保存されます。

実際のストレージの場所へのポインタのみがあります。私はあなたがあまり心配しなくてはならないと思います。

とにかく、this postを参照すると、データが常に< 65 KByteの場合、VARCHARの使用について考えることができます。

パフォーマンスが向上するようです。リンクQ & A.

+0

ありがとうございました。 – DevinPHP

+0

その投稿は多少古いです。 –

0

詳細情報いつの日かあなたの30-50Kは70Kに成長するので、私はMEDIUMTEXTをお勧めします。 VARCHARはそれほど遠くに行くことはありません

InnoDBは物事を構造化する方法で、データベースにテキスト列を残さないことはめったにありません。 (画像は別の問題である。)あなたJOIN 2つのテーブル、そしてGROUP BYまたはLIMITでダウン結果セットを削り取っここで落とし穴がある

- あなたは一時テーブルを通じて大きな文字列を運んでいる場合は、これはパフォーマンス上の問題になる可能性があります。

関連する問題