php查询2个mysql表_php – MySQL:加入(2个表)vs单个查询(1个表)

PHP中,我有一个11人的数组,其中只给出了每个人的身份证:

$persons = array(1, 3, 39, 72, 17, 20, 102, 99, 77, 2, 982);

在我的MySQL数据库中,有一个表格,其中包含有关每个人的详细信息:

TABLE personInfo

- ID (integer)

- name (string)

- birth date (timestamp)

- weight (decimal)

- ...

问题:

所以现在,我想为PHP数组中的每个ID选择匹配的名称.我只能想象两种解决方案:

1. for-loop:

foreach ($persons as $person) {

$result = mysql_query("SELECT name FROM personInfo WHERE id = ".$person);

}

2.逻辑运算符OR

$result = mysql_query("SELECT name FROM personInfo WHERE id = 1 OR id = 3 OR id = 39 OR ...");

两种解决方案都很慢,不是吗?

但是,如果我有另一个MySQL表包含PHP数组的ID …

TABLE ids

- ID (integer)

…我可以使用连接来进行非常快速的MySQL查询,对吧?

$result = mysql_query("SELECT a.ID, b.name FROM ids AS a JOIN personInfo AS b ON a.ID = b.ID");

题:

到目前为止这一切都正确吗?如果是:为什么会这样?如果我有第二个表,MySQL查询会更快吗?只有一张桌子,速度非常慢?解决我的问题的最快方法是什么(选择与PHP数组的ID匹配的名称)?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值