PHPとMYSQLに関して。


1)まず、
PHPだけでデータベースを作ることはできますか?(また、データベースらしきもの)

2)上記が可能な場合に。
PHPでデータベースもどきを作るのと、MYSQLでデータベースを作成するのを比較する場合。両者のメリット、デメリットをお願いします。
例えば、速度はどのくらい違いますでしょうか?また、その他効率的な面でMYSQLを使った場合のメリットをお願いします。
※情報量(ファイルサイズ)に比例した速度の速さはどのくら変わっくるのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/10/16 13:17:02
  • 終了:2006/10/23 13:20:03

回答(3件)

id:Yota No.1

Yota回答回数453ベストアンサー獲得回数282006/10/17 12:23:22

ポイント26pt

PHP5なら、SQLiteというのが使えます。

性能テストが、「まるごとPHP Vol1」という本に載っていました。MySQL(MyISAM)の方が若干上回っています。一番のメリットは、サーバに比べてメモリやCPUを節約できることでしょう。

SQLiteについて書かれた本も売っています。

http://www.amazon.co.jp/exec/obidos/ASIN/4798109436

id:toohigh No.2

toohigh回答回数291ベストアンサー獲得回数372006/10/16 23:45:30

ポイント27pt

1) sqlite を使えば可能です。簡易な(テーブルひとつ分程度の)データを扱うだけなら DBA 系の関数だけでも可能でしょう。PHP5 なら sqlite が標準で利用可能なはずです。

http://php.benscom.com/manual/ja/ref.dba.php

http://php.benscom.com/manual/ja/ref.sqlite.php

2) パフォーマンスについては sqlite は十分高速なようです。

どちらかというと、速度以外の機能が必要かどうかで選ぶのがよいのではないでしょうか。あとは場合によっては、最終的な成果物の配布を行う際のライセンス形態とかが要因になる場合もあるかもしれません。

mysql を利用するとうれしい点を挙げてみます。

  • mysql 構成だと、DBサーバとWWWサーバの分離が可能なので、その方向で速度を稼いだりWWWサーバを追加したりするアプローチが可能
  • mysql だとユーザごとの権限制御が可能
  • mysql だと特殊なストレージエンジンが使えるので、用途によっては便利・・な場合も。

http://www.atmarkit.co.jp/flinux/special/ctl_rdbms/rdbms09.html

id:rrr3

ありがとうございます!

2006/10/23 13:00:19
id:b-wind No.3

b-wind回答回数3344ベストアンサー獲得回数4402006/10/16 13:36:55

ポイント27pt

1.PHP“だけ”と言う意味にもよりますが、いわゆる RDBMS を使わない事は出来ます。

おそらくは別途サーバーを立てたくないという事だと思いますが、独自でファイルフォーマットを定義して使う他に Berkeley DB 等のスタンドアローンのDBを使う方法があります。

http://takusato.net/article/bdb_oboegaki.html


2.

速度的な比較は見た事が無い、というより以下に示すように大幅に構造が違うのであまり速度では比較しないように思います。


MySQL のメリット

・情報が多い(公式でも日本語のマニュアルが整備されている)

・RDBMS である。(SQLが使える)

・複数のストレージエンジンが使える

・レプリケーションなどの高度な機能を備えている。

・TCP/IP で接続できるのでDBを分けるなどスケーラビリティに優れる。

MySQL のデメリット

・別途サーバープロセスを立てなければならない。

・基本的にインストール権限 ( root 等 ) が必要。

Berkeley DB のメリット

・別のサーバーを立てなくてもよい

・セットアップの手間が無いので小規模サイトには最適

・大抵の言語で標準でアクセス手段が用意されている

Berkeley DB のデメリット

・日本語情報が少ない

・RDBMS でない(SQL を使えない)

・アクセスが多いとたまに壊れる(復旧手段はあります)

・ファイルベースなので別サーバーに分けるなどの手段は取れない。


この2つの中間的なポジションとして SQLite という RDBMS があります。

・ファイルベースのRDBMS

・数万件程度までなら MySQL より高速

・セットアップの手間は無い

・PHP5 から標準サポート


用件しだいですが、SQLite は結構オススメです。

id:rrr3

ありがとうございます!

2006/10/23 13:02:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません