2

如果我想使用 php 阅读100 lines,哪个更快?从MySql table简单的Text File?

4

5 回答 5

6

使用更适合你的东西。

对于 100 行和一次读取所有内容的操作,性能差异将非常小,根本不重要。

于 2012-11-21T19:09:03.670 回答
2

试试看:

$time_start = microtime();
$mysqli->query("SELECT * FROM TABLE LIMIT 100");
$time_end = microtime();
echo 'TIME: '.($time_end-$time_start).'<br>';

$time_start = microtime();
$fh = fopen("file.txt",'r');
$x=0;
while(($row = fgets($fh, 4096)) !== false) {
    if($x>100){
        break;
    }
    $x++;
}
fclose($fh);
$time_end = microtime();
echo 'TIME: '.($time_end-$time_start).'<br>';

在我看来,在服务器上定位文件、打开、运行和关闭会比拥有活动的数据库连接要慢。但是,我不确定。

于 2012-11-21T19:12:12.620 回答
0

去MySQL。当您将它与从文本文件中读取进行比较时,它会更快。

于 2012-11-21T19:07:30.657 回答
0

如果该文件仅包含 100 行(因此您基本上是从头到尾阅读它)并且您不必以某种方式对其进行过滤,那么从文件中读取会更快。

MySQL 也从文件中读取(某些内容也缓存在 RAM 中)。

既然你提到了 MySQL,我怀疑它并不是那么简单。如果它不只是使用 MySQL,你会很高兴;)

于 2012-11-21T19:10:54.980 回答
0

就像另一个人说的,差异应该是微乎其微的。如果您真的需要尽可能快的访问时间,MySQL HEAP(内存)表的返回速度应该比文件访问快得多。

于 2012-11-21T19:29:42.697 回答