プロが教える店舗&オフィスのセキュリティ対策術

現在、SQLiteとPHPのキャッシュ(Cache_Liteなど)をともに使っているのですが、
どちらも使えそうな場合、どちらを使うか
迷いながら長い間使っています。

そこで、以下のような場合どちらを使うのがおすすめか
意見をお願いしたく思います。

SQLiteでいえば
ID content
1 比較的長い文章1..
2 比較的長い文章2..
3 比較的長い文章3..
.....

キャッシュ(ファイル)であれば
ファイル名:1 内容:比較的長い文章1..
ファイル名:2 内容:比較的長い文章2..
ファイル名:3 内容:比較的長い文章3..
.....

のようなものです。

SQLiteの場合、インデックスはIDにあり、検索時(SELECT時のWHEREなど)も
文章(content)の方で行うことはなく、IDでSELECTして取り出すのみです。

さらに、この
[比較的長い文章..]
は更新されたり、レコードorファイルごと削除される可能性があるとします。

このとき、データ数が数千数万~と膨大になるとき、
直近・将来的にどちらが遅くなる、あるいは不便になる(壊れるなど)
ことがありうるでしょうか。

なお、こういうものは「一般的にどっちの方が良いとはいえない、場合によるものだ」ということは重々承知しておりますが、その上で
おすすめや使い分けがありましたら、あるいは速度的な情報がありましたら、ぜひよろしくお願いいたします。

A 回答 (1件)

「PHPのキャッシュ」というのは知らないのですが、単純な入出力なら、RDBMSでなくOSレベルの入出力の方が単純だし、速いです。


RDBMSにするメリットは、SQLによる柔軟な操作であったり、SQLiteは該当しないのでしょうが排他制御や障害回復、機密保護などの機能が使えることです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>単純な入出力なら、RDBMSでなくOSレベルの入出力の方が単純だし、速い
>RDBMSにするメリットは、SQLによる柔軟な操作

なるほど、なんとなくそうではないかなと思っていたのですが、
chukenkenkou様のように詳しい方にアドバイスをいただけると、たいへん助けになります。ありがとうございます。

ORDERやWHERE、LIKEなどで検索・取り出し時の利便性が必要だったり、JOINだったり、複雑な(このくらいは単純な方だと思いますが)処理が必要なときにはSQLiteを使い、
上記質問文のような「単なるデータの保持」の場合はファイルによるキャッシュを利用していこうかとおもいます。


また、他に何か関連することなどでアドバイスがありましたら、
どなたでも、どんな些細なことでもかまいませんのでどうぞよろしくお願いします。

お礼日時:2008/11/14 21:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!