何时以及如何使用PHP(PDO)进行多个MySQL查询

5

除了最小化代码,使用多个MySQL查询语句的好处是什么?

如何使用PHP(最好是PDO)执行、检索和显示发送在一个语句中的多个MySQL查询的结果?

4个回答

7

4
无论您使用哪种数据库,将多个查询放入一个语句中可能更加高效。如果您分别执行查询,则必须通过网络(或者至少在同一台机器上时,在进程之间)对数据库进行调用,获取与之的连接(包括身份验证),传递查询,返回结果集,并为每个查询释放连接。
即使您使用连接池,仍然比必要的来回传递更多的请求。
因此,例如,如果将两个查询组合成一个查询,则已经为第二个查询节省了所有这些额外的来回调用。组合的查询越多,应用程序就越有效。
另一个例子是,许多应用程序在启动时填充列表(例如下拉列表)。那可能是许多查询。在一个调用中执行它们可以加速启动时间。

1
今晚我在做一些研究时偶然发现了这个帖子。以上的回答都没有提供一个可行的解决方案来解决这个简单的问题。
使用面向对象的方法,您可以通过使用multi_query()方法在单个连接中执行多个查询语句。
$db_connection->multi_query($query);

查询应该格式良好,并用分号分隔 -> ;

有关如何处理SELECT数据的更多详细信息,请参见PHP手册


0

在编程中,如果你需要使用会话变量和临时表,同时进行多个查询可以带来特别好的效果:

select somecol, @somevar := group_concat( distinct somecol2 separator '|')
from sometbl
where
    somecol LIKE "fueh"
group by somecol;

select somecol2
from  sometbl
where
    somecol LIKE "nyan"
and
    vc_wp regexp concat( '(', @somevar, ')' )
order by somecol;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接