regepanのはてなブログ

個人的なメモ帳レベルの文章。

MySQLとテキストファイルの取り出し速度比較。

共通条件

  • PHP 5.3.15
  • MySQL 5.6.12
  • 150万行(レコード)のテキストデータ。
  • カラムは1つだけ。

実験1. 150万行の0行目から50行目まですべて取り出してechoする。

  • MySQL + PDO : 19秒
  • テキストファイル + fopen + fgets : 13秒

実験2. 150万行から50万行目のみ取得。

  • MySQL + PDO : 0.02
  • テキストファイル + fopen + fgets : 1.49秒

感想

実験2の方は任意の一行を読み込んで取得する方法があればテキストファイルでももっと早くなりそう。その方法はわからなかった。仕組み的に出来ないのかも。
実験2でこんだけ差が出ればMySQLじゃなきゃ駄目な理由になると思った。

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )