【问题标题】:What's better solution: mysql fetch array than object or mysql join什么是更好的解决方案:mysql fetch array 比 object 或 mysql join
【发布时间】:2016-01-24 02:06:27
【问题描述】:

我处理过很多记录,但我不知道什么是更好的解决方案(我的意思是最快的):

    $result = mysql_query("SELECT `user_id` FROM `table_1` WHERE `user_id` = '$id'");
    while($row = mysql_fetch_array($result)) {
            $var = mysql_fetch_object(mysql_query("SELECT `row` FROM `table_2` WHERE `id` = '{$row['user_id']}'"));
            echo $var->row;
    }

    $result = mysql_query("SELECT t1.`user_id`, t2.`row` FROM `table_1` t1 INNER JOIN `table_2` t2 ON (t2.`id` = t1.`user_id`)");
    while($row = mysql_fetch_array($result)) {
           echo $row['row']; 
    }

感谢您的建议! :)

【问题讨论】:

标签: php mysql optimization


【解决方案1】:

在数据库处理的任何事情通常都比在脚本端处理的事情要快。因此,我建议始终使用联接。您使用 SQL JOIN 的第二部分代码更好。

例如您可以很容易地看到,在第一个代码中,对数据库进行了一次额外的调用,而在第二个代码中并非如此。因此,对于在第一个循环中获取的每个条目,您将不得不再次查看数据库。例如您的第一个循环返回 100 条记录,然后在第二个循环中它将再次在数据库中查找 100 次。所以它让它变慢了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 2020-11-21
    • 2022-06-28
    • 2011-11-21
    • 2023-03-22
    • 2021-08-02
    相关资源
    最近更新 更多