Php 如何正确优化mysql select语句
我有一个网页,分为不同的部分。每个部分必须显示不同的结果。这些结果来自数据库。 这是SQLFIDLE上的一个示例数据 下面的代码是我想到的,但我担心当不同的人多次访问此页面时,它可能会以某种方式使服务器过载Php 如何正确优化mysql select语句,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我有一个网页,分为不同的部分。每个部分必须显示不同的结果。这些结果来自数据库。 这是SQLFIDLE上的一个示例数据 下面的代码是我想到的,但我担心当不同的人多次访问此页面时,它可能会以某种方式使服务器过载 $sectionA = $connect->query("SELECT * FROM Main_Section WHERE section = `A` "); while ($row = $sectionA->fetch_array(MYSQLI_BOTH)) {
$sectionA = $connect->query("SELECT * FROM Main_Section WHERE section = `A`
");
while ($row = $sectionA->fetch_array(MYSQLI_BOTH))
{
$id = $row["id"];
$name = $row["name"];
$sec_result_a = $sec_result_a.'<p>'.$id.'</p><h3>'.$name.'</h3>';
}
$sectionB = $connect->query("SELECT * FROM Main_Section WHERE section = `B` ");
while ($row = $sectionB->fetch_array(MYSQLI_BOTH))
{
$id = $row["id"];
$name = $row["name"];
$sec_result_b = $sec_result_b.'<p>'.$id.'</p><h3>'.$name.'</h3>';
}
$sectionC = $connect->query("SELECT * FROM Main_Section WHERE section = `C` ");
while ($row = $sectionC->fetch_array(MYSQLI_BOTH))
{
$id = $row["id"];
$name = $row["name"];
$sec_result_c= $sec_result_c.'<p>'.$id.'</p><h3>'.$name.'</h3>';
}
$sectionA=$connect->query(“从Section=`A`
");
而($row=$sectionA->fetch_数组(MYSQLI_两者))
{
$id=$row[“id”];
$name=$row[“name”];
$sec_result_a=$sec_result_a.“”.$id.“.$name.”;
}
$sectionB=$connect->query(“从Section=`B`所在的主_部分中选择*”;
while($row=$sectionB->fetch_数组(MYSQLI_两者))
{
$id=$row[“id”];
$name=$row[“name”];
$sec_result_b=$sec_result_b.“”.$id.“.$name.”;
}
$sectionC=$connect->query(“从Section=`C`所在的主_部分中选择*”;
while($row=$sectionC->fetch_数组(MYSQLI_两者))
{
$id=$row[“id”];
$name=$row[“name”];
$sec_result_c=$sec_result_c.“”.$id.“.$name.”;
}
至Z段
有没有一种方法可以适当地对此进行优化?除非图片有更多内容,为什么不按部分顺序查询所有内容,以获得a-Z:
SELECT * FROM Main_Section ORDER BY section
。。。然后用一个循环处理结果,这个循环可能看起来像这样:
$sections = $connect->query("SELECT * FROM Main_Section ORDER BY section");
while ($row = $sections->fetch_array())
{
echo $row['section'] . ' ' . '<p>' . $row['id'] . '</p><h3>' . $row['firstname'] . ' ' . $row['lastname'] . '</h3>';
}
$sections=$connect->query(“按节顺序从主节中选择*);
而($row=$sections->fetch_array())
{
echo$row['section'].''.$row['id'..'.$row['firstname'.'.'.'.$row['lastname'.';
}
编辑您的问题并提供示例数据和所需结果。您的表上似乎没有任何索引。在部分
列上创建索引
。此外,请提供有关您的问题和预期结果的更多信息。您面临的挑战是什么?您的表中有多少条记录?