MySQL TEXTタイプのフィールドよりも、ファイルを使用して長いテキスト(たとえば、長いブログ記事)を格納することに利点はありますか?私の考えでは、プログラム(PHP)を介してファイルを取得する方が、MySQLを煩わしく取得するよりもはるかに高速であると思います。
3 に答える
短い文字列には「char」とその仲間を使用し、数字や日付と同じように検索する可能性が高い「構造化」データには使用します。それ以外の場合は、多数の非構造化テキストデータに対して全文検索を実行する場合は「テキスト」を使用します。ブログのように;)
ここに良い記事があります:
http://devzone.zend.com/26/using-mysql-full-text-searching/
大量のテキストのみを保存している場合(実際にmySqlで検索したくない場合)、ファイルを外部に保存することは、.mp3オーディオファイルまたは.png画像を外部に保存することと同じトレードオフになります。一般に、データベースではなく、ファイルシステムに大きな「ブロブ」を格納することをお勧めします。
私見では...
================================================== =
補遺:
疑問がある場合は、ブログを「テキスト」としてデータベースに保存することをお勧めします。データベースは、多数の小さなエンティティ(ブログエントリ)を保存するのに優れており、基本的に「無料」で全文検索を取得できるという追加の利点があります。
私見では..
利点はまったくなく、不適切にコーディングするとバグが発生します。多くのcmsシステムは、ファイルよりも効率的にこのようなデータを保存および取得するように設計されているため、データベースを使用します。より良いアイデアであれば、Drupal、Joomla、Wordpressなどはデータベースの代わりにファイルを使用します。今、あなたが画像について話しているなら、そうです、ファイルシステムに保存する方が良いです、しかしあなたが10,000語のブログを書いたとしても、あなたは最小サイズについて話しているのです。
どちらの方法にも利点があると思いますが、それはあなたの特定の状況次第です。例えば:
テキストデータベースフィールドを使用すると、ブログエントリがすべてデータベースに含まれるため、バックアップと移動が簡単になります。また、セキュリティ、ファイルロック、ファイル名などのファイルアクセスについて心配する必要がないことも意味します。また、特別なコードを記述せずにデータをクエリできます。
代わりにファイルを使用することにも利点があります。特に大量のファイルを処理する場合は、データベースを小さく保つことができます。これにより、データベースにアクセスすることなく、他の人、プログラム、またはマシンがデータに簡単にアクセスできるようになります。また、ディスクを再編成する必要がある場合は、ファイルを別の場所に簡単に転送できます。
したがって、それは完全にあなたの環境次第です。個人的には、膨大な数のファイルや膨大なファイルを扱っているのでない限り、私はおそらくデータベースオプションに固執するでしょう。ほとんどの場合、対処する方が簡単です。