質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

3531閲覧

掲示板を作る場合、テキストファイルに保存するのとデータベースを使うので、どちらがパフォーマンスがいいですか?

f_acid

総合スコア56

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2015/05/23 17:59

掲示板を作ることになりました。

まずテキストファイルに保存するようにしようかと思ったのですが、ネットではデータベースで掲示板を作る方法もあります。
レスを削除するというような機能を付けるつもりはありません。
この場合は、どちらがパフォーマンスがいいのですか?

自分としてはテキストファイルに保存の方が良さげな気がするのですが

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

排他制御やデータの破損回避を考慮すると、DBを使用すべきでしょう。

まず前提として、同じデータに複数のユーザーが同時に書き込んだ場合、どちらかの編集内容は消えてしまいます。また、最悪の場合、ファイル自体が破損します。

DBは複数のユーザー(コネクション)からの同時書き込みでデータ破壊が起きないように制御する機能を持っています。

一方、テキストファイルに書き込む場合は、そのような制御を自分で作成する必要があります。

排他制御の処理は検討すべき条件が多いので、一般的に不具合が入りやすい処理です。

DBが一般的なレンタルサーバで使えるようになるまでは、テキストファイルにデータを書き込む形式の掲示板も多かったのですが、排他制御のバグからデータが破損する事例もとても多かったものです。

したがって、特に理由がない限りはDBにデータを保存することが推奨されます。

投稿2015/05/24 04:09

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

これに関しては機能と規模とによりけりではないかと思います。

書き込んで保存、見るだけならテキストでもOKですよね。

で、機能追加でここに誰が書いたかを保存するようになる事を考えます。
タイトルと本文にユーザー名を追加します。
で、ただのテキストボックスならそのまま「Aさん」「Bさん」と入れていけば良いような気がします。
ですが、なりすましの被害が出たと。
でAさんBさんをパスワード管理でやりましょうか・・・・

となっていくとDBの方が手間とパフォーマンスとを考えれば楽になってくる訳です。
テキストはあくまでテキストしか保存されません。

私は何でもかんでもDBでやる派ではないので、保存して表示されるだけならテキストでも良いと思います。
(たとえばHPのトップページの新着情報なんて、一般ユーザーは書き込まないですもんね?)

でもその先、日付で抽出したいとか、Aさんが書いた物だけ抽出したいとか、量が増えてきて一定の期間が過ぎた物は削除するなり、過去ログへ持って行きたいとかなった場合はテキストファイルではコーディングも面倒ですし、間違いなくDBで作ります。

結局は何でもその辺のバランスなのは理解するべきです。

「なぜ数種類のやり方があるのか?」

これはそれぞれに応じて良い所・悪い所があるからです。

投稿2015/05/23 20:16

landy77

総合スコア1616

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問