• ベストアンサー

テキストファイルとMYSQL、どっちが軽い?

現在、見よう見まねで、ポータルサイトを作成中です。 「id/店名/業種/住所/電話番号」のデータベースを作成しておき、 件名や業種をクリックすると、該当店舗一覧が表示されるようなポータルです。 そこで、データベースの保存方法と呼び出し方法ですが、 txtファイルで保存して、phpで呼び出すほうがいいでしょうか? それとも、MYSQLで保存して、呼び出したほうがいいのでしょうか? サーバーに負荷がかかると、あまり良くないと聞いたので、 できれば負担の少ないほうで作成をしたいです。 教えてください! どうぞよろしくお願い致します!

質問者が選んだベストアンサー

  • ベストアンサー
  • calf0306
  • ベストアンサー率21% (3/14)
回答No.3

一般的に考え、MYSQLの方がおすすめです。 SQLが使えるとデータの扱いが楽ですし、管理も楽です。 サーバー負荷の観点でいうと、 データ数が少なく更新がめったにされない/短時間で同一クライアントから何度も検索等々するなら、 一度全てのデータを連想配列で取り出しておいて、ローカルDBに保存。 ブラウザ側で保管、jsでソート/絞り込みを行う方法もあります。 これならサーバー側はリクエストを一回受けるだけで後は何もしない訳ですし。 この場合はtxtのjsonデータ、SQLデータどちらでも問題ありません。 データ数が多く更新が頻繁/ほとんどの人が一回検索してかえっていくなら SQLの方が断然いいかと。 また、Smarty等を利用してSQLをキャッシュさせるのも手と思います

k5z
質問者

お礼

「ブラウザ側で保管、jsでソート/絞り込み」 なるほど!それはすごく良い方法ですね! ちょっと調べてみます!ありがとうございます!

k5z
質問者

補足

「ブラウザ側で保管、jsでソート/絞り込み」 なるほど!それはすごく良い方法ですね! ちょっと調べてみます!ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

1000件以下ならテキストでも十分スピードがだせるでしょう ウン万件だとSQLの方がよいかもしれません。 SQLが効果を発揮するのはどちらかというと集計なので idからレコードを確定するような単純なロジックのものは どちらでもたいして負荷にならないと思います。 また、検索条件が複雑な場合はSQLの方がいいと思います

k5z
質問者

お礼

集計と検索条件が複雑なときは・・。 なるほど!参考になりました!

全文を見る
すると、全ての回答が全文表示されます。
  • t_ohta
  • ベストアンサー率38% (5120/13370)
回答No.1

データ件数が少なければテキストファイルを毎回読み込んでも大丈夫だけど、件数が多くなったらテキストだと処理に時間が掛かるようになりますのでデータベースを使う方がいいでしょう。

k5z
質問者

お礼

ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • MySQLでデータベースを一つのファイルにひたすら保存していいのか

    MySQLでデータベースを一つのファイルにひたすら保存していいのか PHPでMySQLを使用しています。 データベースを作る時は以前から二つの方法を使っています。 ・データベースファイルを一定のデータ量になると分割する方法 ・データベースファイルを分割せず一つのファイルにひたすら保存していく方法 これはどっちがいいのでしょうか? 一つのデータベースファイルに保存し続けるとユーザーがアクセスする際は そのデータベースファイルにしかアクセスしないので共有ロックの関係で ユーザーが増えるほど分割した場合に比べてオープンが低速化したりしないでしょうか?

    • ベストアンサー
    • PHP
  • MySQLのデータファイルの位置について

    MySQLでテーブル、データベースを作成したのですが、 OS上から作成したテーブル・データベースが保存されているファイル(データファイル?) が見つけられません。 テーブルにデータをインサートしてコミットして、 セレクトを行ってデータは反映されていることは確認しています。 OSはWindows 7 MySQLのバージョンは5.5です。 user_dbというデータベースを作成し、 show databasesを行った結果、 information_schema mysql performance_schema test user_db が表示されることから、データベースuser_dbは正常に作られていると思います、 user_dbに対して、インサートは可能で、一度データベースを停止して、 再起動後、インサートしたデータがみれています。 しかし、インストールフォルダのMy.iniのdatadirで指定されているフォルダには mysql performance_schema のフォルダしかない状態です。(ここにuser_dbフォルダが作成されると思うのですが) どこにデータが保存されているのでしょうか?

    • ベストアンサー
    • MySQL
  • MySQLデータベースについて

    データベースについて詳しい方にお聞きしたい事があります。 初心者なので書いている内容におかしな点もあるかと思いますが、よろしくお願いします。 5年ほど前のJavaを習っていて、簡単なデータベースを作ったことはあります。 □現在、会社が違うレンタルサーバーを一つずつ借りています。 A社のサーバー上で作成したデータベースをB社のサーバー上に公開しているサイトから呼び出し、テーブルを一覧表示できるのでしょうか? □初心者がデータベースを作成するにはphpMyAdminを使用するのが一番良いでしょうか? 使い方を検索してみたらちょっと難しそうですね。 Javaでデータベースの勉強をしていた時はあらかじめ作ったフォームにデータを入力していくだけだったので、同じような感じのシステムはないかなと思いました。 □現在使用しているサーバーはMySQLが5つ使えると書いています。 既にWordPressでブログ開設していて4つ使用しています。残りは一つ。 野球チームのデータベースを作成しようと思っているのですが、これまでの試合の記録のデータ、これまでの選手のデータのデータベースを作成したいと思っています。 MySQLは残り一つですが、この二つのデータベースを作る事は可能なのでしょうか?二つ必要ですか? □スマホのサイトも作成しているんですが、PCサイトと同様にデータベースに接続し、一覧表示できるのでしょうか? スマホでPHPが使えるのかなと思ったので。 ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • Mysqlの負荷分散について

    Mysqlレプリケーションは負荷分散というより冗長化だと思いますが、では負荷分散をするにはどのような方法が一般的でしょうか?スケールアップしかないのでしょうか? (スケールアウトするにはデータの整合性にかなり難があるように思えます。) Webアプリの対象はポータルサイトです。YahooやGoogleはどのように対策しているのでしょう?

    • ベストアンサー
    • MySQL
  • Visual Studio 2005でMySQLに接続

    初めてまして。MySQL Community ServerのMySQL5.1でVB2005に接続し、データベースを作成したいんですが、方法が分かりません。。 VB中学校などを参考にしてAccessでは接続できたのですが、MySQLに関しては何も載っていなかったので・・・ 何かわかる方がいれば教えてくださると大変助かります。 私はデータベースに関しては知識が皆無で、プログラミングもまだ初心者なので、、すいませんm(_ _)m

  • PHP+MySQLでポータルサイトを作る

    PHP+MySQLでポータルサイトを作りたいと思っています。 ほっとぺっぱーのように http://beauty.hotpepper.jp/B_30400/svcSA_macAZ.html オススメから探すという項目で ・カットがオススメ ・カラーがオススメ などなど 条件別に検索できるようにしたいのですが、 これはお店データのデータベースで条件をtrueかfalseかなんかで設定しておいて trueならば生成という感じなのでしょうか? (無知ですいません、条件がいっぱいあれば全店計算していくのに重くならないでしょうか?) データベースでお店を増やして、条件が合えば勝手に一覧ページに追加されていく というようにしたいのです。 そして、一覧に表示されているページの件数表示 10件を超えれば2ページ目といった感じにしたいのですが こういう作りはPHP+MySQLでできるのでしょうか? そして URLは作ったものではなくパラメータになるのでしょうか? お願いします。

    • ベストアンサー
    • PHP
  • wordpressでのMySQLの設定

    社内でwordpressを利用したブログを開設しようと考えています。 社内の管理者は、セキュリティやサーバー負荷を懸念し、MySQLデータベースを社内のサーバーに作成することに躊躇しているようなのですが、たとえば、「wordpressの構成ファイル(index.htmlやwordpressテンプレートなど)を社内のwebサーバーにインストールし、MySQLデータベースは外部のサーバー(もしくは社内の別サーバー)を利用する」といったようなことは可能でしょうか?

    • ベストアンサー
    • MySQL
  • データを追加するテキストの型

    MySQLを勉強し始めたばかりです。環境はWindows XpにWampServerを入れ、MySQL consoleを起動させています。 データベースにテーブルを作り、同じフォルダーに"data.txt"を入れてデータをテーブルに追加しました。 load data infile "data.txt" into table tablename; 初めはメモ帳で作り、data.txtで保存。上記の通り入力したらエラーが出ました。 次にwordにメモ帳で作った内容をコピーし、書式なしテキスト形式 data.txtで保存し、同じ文で実行したら成功しました。 全く同じ内容(タブも同じ位置)のテキスト形式(.txt)であっても作るソフトにより何か型が違うのでしょうか。2度目の方法で成功しましたが、何が違うのか理解したいので教えてください。

    • ベストアンサー
    • MySQL
  • CとMysqlの関連づけ

    Windowsプログラミングで作成した ダイアログボックスに入力した項目を Mysqlデータベースに保存するという アプリケーションを作りたいのですが やり方のようなものがいっさいみつかりません 可能なのでしょうか? できるとしたらどうやるのか 教えてくださいませ

  • MySQLの効率の良い使い方

    お世話になっております。 これまで、テキストファイルにログを保存する形で、SNSの簡易版などを作成していたのですが、 インデックス用のログが頻繁に破損してしまうため、速度向上の目的も合わせてMySQLに移行したいと考えております。 Apache2+PHP+MySQLでの構築を考えているのですが、データベースを利用するのは初めてでして、 基本的な使い方は理解したのですが、効率的なデータベースの利用法が良く分かりません。 これまでのファイルに保存していく方式では、以下のような構造でした。 user.log - 全ユーザーのIDやパスワード、名前などの簡単な情報をまとめて記録した検索用インデックスログファイル user/[ID].log - ユーザーの性別や自己紹介などの登録情報をID別に保管 item/[ID].log - SNS内で利用できるミニゲームの所持アイテムをID別に保管 mail/[ID].log - SNS内でのメールのようなものをID別に保管 ... これらをMySQLで実装する場合には、どのようにテーブルを作成すれば良いのでしょうか? ユーザー1人ひとりに対し、1つずつ所持アイテム用のテーブルであるとか、 メール用のテーブルを作成していけば良いのでしょうか? 例)「item_[ID]」という名前のテーブルをユーザーごとに作成。 そうすると、ユーザーは数千人を想定しているので、 テーブルを数万個作ることになりますが、高負荷などの問題はないでしょうか? それと、これまで同時アクセスによるファイルの破損のトラブルが多かったのですが、 MySQLを用いれば改善されるでしょうか?(これまでも排他処理は色々講じていました) カウンタなど頻繁に更新され、かつデータが非常に軽いものについては、 ファイルにログを保存した方が良いのでしょうか? ご教授頂ければ幸いです。 ローカル:WinXP、Apache2.2.3、PHP5.2.0、MySQLServer5.0 実装サーバー:Linux、Apache1.3.37、PHP4.4.4、MySQL3.23.58

    • ベストアンサー
    • MySQL
イエローインクが出ない
このQ&Aのポイント
  • 年賀状印刷や写真印刷時に色がおかしくなり、イエローインクが出ていない問題が発生しています。クリーニングを試しましたが改善されません。
  • お使いのプリンター(DCP-J552N-ECO)で年賀状印刷や写真印刷を行った際に、色が正しく印刷されず、特にイエローのインクが出ていません。クリーニング処理を試しましたが、問題は解決されませんでした。
  • プリンターのDCP-J552N-ECOを使用して年賀状や写真を印刷する際に、イエローのインクが出ずに色がおかしくなるという問題が発生しています。クリーニングを試しましたが、改善されませんでした。
回答を見る