我想知道从这些sql方法哪种方法更好(更快);

第一种方法:

public static function getlistusers($limit=88888888888888 ) {
$sql = "SELECT id,name FROM users order by id desc limit 0,$limit";
$st = mysql_query( $sql ) or die(mysql_error());
$list = array();
while ( $row = mysql_fetch_assoc($st) ) {
$picss = new users( $row );
$list[] = $picss;
}
return ( array ( "users" => $list) );
@mysql_free_result($st);


用于我使用的打印输出

foreach()数组$ users;



第二种方法

$sql = "SELECT id,name FROM users order by id desc limit 0,$limit";
$st = mysql_query( $sql ) or die(mysql_error());
while ( $row = mysql_fetch_assoc($st) ) {
extract($row);
return "Id: $id and The Name is : $name";
}
@mysql_free_result($st);
}


===========

我想知道哪个更快和更安全的sql加载。

问候
铝3in

最佳答案

$sql = "SELECT id,name FROM users order by id desc limit 0,$limit";
$st = mysql_query( $sql ) or die(mysql_error());
while ( $row = mysql_fetch_assoc($st) ) {
    extract($row);
    return "Id: $id and The Name is : $name";
}
@mysql_free_result($st);


我怀疑这种方法是否行得通。因为即使将其限制为1或一百万,由于return "Id: $id and The Name is : $name";,循环也只会运行一次。因此,如果您将此方法与另一种方法进行比较,则另一种方法显然会更好。

除非您要分配给数组而不是返回。在这种情况下,第二种方法具有不必要的函数调用extract,该函数将两个变量放入堆中。

关于php - mysql查询哪个最好,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5152782/

10-13 08:06