最近,我已将所有“mysql 特定”函数移至一个类中,这样,如果将来我决定切换数据库语言,我不必更正所有脚本,而只需更正一个类。
我的问题是关于大数据的效率和速度。
例如,现在在我的database.class.php中我有:
public function fetchAssociative($data) {
$assocarr = array();
while ($row = mysqli_fetch_assoc($data)){
array_push($assocarr, $row);
}
return $assocarr;
}
然后在我的脚本中调用它。
与我刚使用时相比
while ($row = mysqli_fetch_assoc($result)) {
//operate on returned data ONE ROW AT A TIME
}
就在我的脚本中。
正如我之前提到的,将所有 mysql 特定功能放在一个类中很方便,但是速度效率如何呢?在此示例中,我的脚本必须等待所有数据返回,然后才能执行任何操作,与之前一样(使用 while ($row = mysqli_fetch_assoc($result)))操作,每次返回的每一行上执行一个操作。
TLDR:如果我将 mysql 特定函数推回到类中,效率和速度会受到怎样的影响?
最佳答案
My question is about efficiency and speed on large data.
那么您应该担心 SQL 查询和索引。 不是 PHP 类或 PHP 函数。MySQL 和大数据(读取大型数据集)的 98% 性能问题是由低效 SQL 查询(如子查询、IN/EXISTS 语句、无索引、错误索引、使用没有索引的联接以及不理解 SQL 查询)引起的。 MySQL 引擎..
关于php - 调用 mysqli_fetch_assoc 最有效的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20076386/