検索
ホームページphp教程php手册php读写文件与读写数据库的效率比较分享

php读写文件与读写数据库的效率比较分享

Jun 06, 2016 pm 07:55 PM
lphp共有効率データベース書類比較する読み書き入力

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 一直以来大家都把一些不经常修改的数据保存为文件来调用,看来还是比较正确的,直接读文件相比数据库查询效率更胜一筹,而且文中还没算上连接和断开的时间 这个问题也是最近才想到的,就是到底读文件

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  一直以来大家都把一些不经常修改的数据保存为文件来调用,看来还是比较正确的,直接读文件相比数据库查询效率更胜一筹,而且文中还没算上连接和断开的时间

  这个问题也是最近才想到的,就是到底读文件更快还是读数据库更快,能快多少,天缘也搜索过,没见有网友就这个问题答复过,也可能是太简单的缘故,我们本文还是来实测一下,由于时间关系,VC还没装,天缘先用PHP测试了一下,下次有时间在C/C++上补充测试到本文来,因为PHP的底层解析应该也是基于C的,所以估计两者环境测试结果差不多,小问题大收获,现在就来看一下测试过程及结果。

  测试程序如下:

  说明1:由于读数据库语句调用简单的封包函数两次,所以把读文件也改成连续调用两次,数据库记录ID为1就在第一条,并且唯一索引。

  说明2:测试两次一次是4K数据,一次是整形数据

  set_time_limit(0);

  function fnGet($filename)

  {

  $content = file_get_contents($filename);

  return $content;

  }

  function fnGetContent($filename)

  {

  $content = fnGet($filename);

  return $content;

  }

  $times=100000;

  echo '数据库查询结果:
';

  //---------------------------------

  $begin=fnGetMicroTime();

  for($i=0;$i

  {

  $res=$dbcon->mydb_query("SELECT log_Content FROM blog WHERE log_ID='1'");

  $row=$dbcon->mydb_fetch_row($res);

  $content=$row[0];

  }

  echo 'fetch_row '.$times.' 次时间:'.(fnGetMicroTime()-$begin)。'
';

  //---------------------------------

  $begin=fnGetMicroTime();

  for($i=0;$i

  {

  $res=$dbcon->mydb_query("SELECT log_Content FROM blog WHERE log_ID='1'");

  $row=$dbcon->mydb_fetch_array($res);

  $content=$row['log_Content'];

  }

  echo 'fetch_array '.$times.' 次时间:'.(fnGetMicroTime()-$begin)。'
';

  //---------------------------------

  $begin=fnGetMicroTime();

  for($i=0;$i

  {

  $res=$dbcon->mydb_query("SELECT log_Content FROM blog WHERE log_ID='1'");

  $row=$dbcon->mydb_fetch_object($res);

  $content=$row->log_Content;

  }

  echo 'fetch_object '.$times.' 次时间:'.(fnGetMicroTime()-$begin)。'
';

  //---------------------------------

  $dbcon->mydb_free_results();

  $dbcon->mydb_disconnect();

  fnWriteCache('test.txt',$content);

  echo '直接读文件测试结果:
';

  //---------------------------------

  $begin=fnGetMicroTime();

  for($i=0;$i

  {

  $content = fnGetContent('test.txt');

  }

[1] [2] 

php读写文件与读写数据库的效率比较分享

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン