Php 选择像这样的东西的最快方法
我想选择比这更快的速度。我的页面加载在执行脚本时非常慢Php 选择像这样的东西的最快方法,php,mysql,select,while-loop,Php,Mysql,Select,While Loop,我想选择比这更快的速度。我的页面加载在执行脚本时非常慢 $bmw= mysqli_query($con,"SELECT * FROM cars WHERE name='bwm' ORDER BY date DESC LIMIT 1"); $mercedes= mysqli_query($con,"SELECT * FROM cars WHERE name='mercedes' ORDER BY date DESC LIMIT 1"); $audi= mysqli_query($con,"SE
$bmw= mysqli_query($con,"SELECT * FROM cars WHERE name='bwm'
ORDER BY date DESC LIMIT 1"); $mercedes= mysqli_query($con,"SELECT * FROM cars
WHERE name='mercedes' ORDER BY date DESC LIMIT 1");
$audi= mysqli_query($con,"SELECT * FROM cars WHERE name='audi'
ORDER BY date DESC LIMIT 1");
$skoda= mysqli_query($con,"SELECT * FROM cars WHERE name='skoda'
ORDER BY date DESC LIMIT 1");
然后像下面这样回显,就像页面加载非常慢一样
while($row = mysqli_fetch_array($bmw)) { echo $row['name'] . " " .
$row['date'];
}
while($row = mysqli_fetch_array($mercedes)) { echo $row['name'] . " "
. $row['date'];
}
while($row = mysqli_fetch_array($audi)) { echo $row['name'] . " " .
$row['date'];
}
提前感谢您编写的查询没有任何错误,您的性能问题可能是由于:
- 缺少名称和日期索引:创建名称和日期索引
- 汽车数据库对于您的硬件来说太大:新硬件/分区/重新设计
- 网络链接慢:Lacy K提供的解决方案很有趣,因为只有一个查询发送到mysql
select name, date from ...
为什么不一次选择所有make,如下所示:
$q= mysqli_query($con,"SELECT * FROM cars WHERE name IN ('bwm', 'mercedes', 'audi', 'skoda') ORDER BY date DESC LIMIT 1");
while($row = mysqli_fetch_array($q)) {
if($row['name'] == 'bmw'){
echo $row['name'] . " " . $row['date'];
}
elsif($row['name'] == 'mercedes'){
echo $row['name'] . " " . $row['date'];
}
elsif($row['name'] == 'audi'){
echo $row['name'] . " " . $row['date'];
}
elsif($row['name'] == 'skoda'){
echo $row['name'] . " " . $row['date'];
}
else{
echo $row['name'] . " " . $row['date'];
}
}
您的查询应该很快,所以我想列名称和/或日期没有索引。谢谢,但是这样好吗?您对查询进行了解释吗?你看过表上的索引了吗?你不会找到太多带有此代码的“bmw:-)除此之外,如果你在程序中只使用“name”和“date”列,最好只选择这些列。@Ronald谢谢,我只想从数据库中的每辆车中选择一辆,并从bmw.php与所有车建立链接。他被告知这一点,好的,我没有在网站上搜索他的问题,所以我不知道其他人已经向他建议了这一点。我只是简单地回答了这个问题,与这个问题没有任何联系。