安いレンタルサーバーでMySQLを共有で使っている場合は、SQLiteの方が逆に速いこともあります。
これは、MYSQLを共有で使ってるためにMYSQLの本来の性能が出せないというのが理由です。
まずはデータ件数がどの程度を想定されてるかにもよります。
1万件程度なら、どちらもそれほどの差を体感できないと思います。
MYSQLを共有で使ってない場合においても、差はあまり感じられないと思います。
本当に少ないデータの場合は、SQLiteの方が速い場合もあります。
MYSQLだと、コネクションなどにかかる時間など、SQLiteと比べて時間がかかる処理があるためです。
http://q.hatena.ne.jp/answer
もう、何かしらの定説が出来上がってるのでしょうか。なかなか新しい情報が見つかりません。
以下、探してみた情報から幾つか。
http://www.sqlite.org/speed.html
もうチェック済みかもしれませんが、まずは、本家のページを最初に。
ページの冒頭にも書かれている通り、古いデータです。
測定時期についての言及がありませんが、使ってるバージョンから ChangeLog を参照すると、2003年の前半くらいに測定した結果だと思われます。
http://blog.ohgaki.net/cdia_a_oa_a_sa_a_a_fa_m
こちらは、 2007年10月にポストされた記事です。
比較に使ったバージョンは、以下の通り。
MySQL: 5.0.45
SQLite: 3.4.0 (PDO)
書いてあることだけを見ると、インデックスが効きづらい条件で、チューニングをせずにベンチマークを取っているので、通常の使い方なら、MySQL に軍配が上がりそうです。
http://kzworks.at.webry.info/200809/article_67.html
2008年9月の記事です。
定量的な情報が書いてあるわけではありませんが、でかいテーブルの読み込みで SQLite を使って苦戦した話です。
SQLite のドキュメント類を読み漁ってみたが、スワップを回避する方法が見つからない。逆に「バッファはDB以下のサイズにはできません」と、PRAGMA 文の解説の中に書いてあったのが見つかり、状況はほぼ絶望的になってしまった。
...
スペックに余裕の無い PC では、プロセスが上がりっぱなしになる MySQL のほうが不利ではないかと当初は思われていたのだが、大きな DB を扱う際には、意外なことに、このあたりのチューニングのできる MySQL のほうが有利だったようだ。
http://it-bg.com/en/articles/53-database-benchmarks.html
2009年9月の書き込みです。
こちらの書き込みでは、検索において SQLite が圧倒的なスピードをたたき出しています。
やや、まゆつばなくらい差が付いてますが、ひとつ前にあげたブログの内容を踏まえると、MySQL でバッファが適切にチューニングされていなくて、何度もベンチマークを取ると、こんな結果が出そうに思います。
データ内容やサーバーによって差異はあると思うのですが...
データベースで重要なのは、チューニングです。
テーブル設計のような設計要素から、インデックスやバッファサイズのような環境の要素、それに加えてプログラムの作り方(含む、Bad Knowhow)など。
呼量が少なく、データサイズも小さいのであれば、SQLite に軍配が上がると思いますが、実際に選定をするときには、本当に悩みます。
開発の途中で、RDBMS の変更を余儀なくされたこともあります。
ちょこちょこっと作るプログラムだと、コストが見合わないこともあるかもしれませんが、DB の実装に依存する処理を切り出しておくのが重要だと思ってます。
PHP なら PDO を使っておくとか、もっと自分で手を入れられるように Dependency Injection のようなパターンを使うとか。
だらだらと書いてしまいましたが、何かの参考になれば。