Php 在这种情况下,您将如何优化MySQL性能?

Php 在这种情况下,您将如何优化MySQL性能?,php,mysql,multiple-select,Php,Mysql,Multiple Select,这3个查询检索具有不同结构的多行, 3个查询需要3个往返, 10次查询需要10次往返 如何优化此案例?选择实际需要的列,而不是选择* 除此之外,如果不知道您需要什么数据以及它们之间的关系,就没什么可说的了。您可以尝试一个联合: $query = "select * from a ..."; if($result = mysql_query($query,$con)) {while($row = mysql_fetch_array($result);) $arr[0][] = $r

这3个查询检索具有不同结构的多行, 3个查询需要3个往返, 10次查询需要10次往返


如何优化此案例?

选择实际需要的列,而不是选择*

除此之外,如果不知道您需要什么数据以及它们之间的关系,就没什么可说的了。

您可以尝试一个联合:

$query = "select * from a ...";
if($result = mysql_query($query,$con))
{while($row = mysql_fetch_array($result);)
        $arr[0][] = $row;
}
$query = "select * from b ...";
if($result = mysql_query($query,$con))
{
    while($row = mysql_fetch_array($result);)
        $arr[1][] = $row;
}
$query = "select * from c ...";
if($result = mysql_query($query,$con))
{
    while($row = mysql_fetch_array($result);)
        $arr[2][] = $row;
}

请原谅我的php,这不是我的专业领域:)

每个表的结构是什么。他们有什么共同点吗?没有,完全没有共同点。该休息了,该打扫了-1除了使用DB处理程序抽象查询/循环代码之外,我不会费心修改它。三个简单的查询通常比在一个查询中获取数据的复杂方式快得多。似乎只有当列数相同时,它才会起作用。如果不一样呢?
$query = "SELECT 'a' AS tablename, a.* FROM a
UNION
SELECT 'b' AS tablename, b.* FROM b
UNION
SELECT 'c' AS tablename, c.* FROM c";
if($result = mysql_query($query,$con))
{while($row = mysql_fetch_array($result);)

switch ($row['tablename']) {
    case "a":
        $arr[0][] = $row;
        break;
    case "b":
$arr[1][] = $row;
        break;
    case "c":
        $arr[2][] = $row;
        break;
}
}