Php比较两个表值,每个表两个表示代码效率

时间:2014-01-17 01:42:35

标签: php sql

我是php的初学者,所以我需要帮助了解如何执行比较两个有大量记录的表的任务。

在用户表中我有:

id,
username,
phoneno,
city,
carddetails

在另一个表格中有字段:

id,
typeofthings,
typeofcard,
user_id(foreignkey).

我不想在查询中使用联接。我想检索所有用户数据及其显示的类型。

我怎样才能在单一的foreach中做到这一点?请帮助我。提前谢谢

1 个答案:

答案 0 :(得分:1)

你应该通过加入来做到这一点。

放手。它会让你的生活更轻松。

加入:

foreach($joined_data_row as $data) {
// do whatever you need to do.
 } 

没有:

foreach($user_in_table_one as $user) { 
// another query - 
$users_data = ORM::for_table("user_data")->where("user_id", $user['id'])->find_one();
//do what you need to do. You now have $user from the first table and $user_data from the second.
}

现在,这是坏的,坏的,坏的,坏的。  你的课程会失败 - 你的工作会被解雇。  因为您要为返回的每一行进行查询 这是数据库负载的重量多倍! 我只是递给你一个套索,不要把它挂起来

但是,通过连接,您只能进行一次数据库查询 - 这样效率要高得多。

现在,既然你是初学者,我会给你这个提示: https://github.com/j4mie/idiorm

它将使您的数据库功能更加轻松 - 包括您的加入 -

我知道当我是初学者时,我讨厌MySQL,直到遇到它 (我们现在使用推进器,但是 - )