在我的网站上,我遇到了相当高的服务器加载时间,我正在考虑如何优化我的一些mysql查询。
我现在做的事情:
首先,我计算表格中的所有车辆有一定的标准;
如果汽车数量大于20 ,我使用这些条件进行查询;
有更快的方法吗?
似乎我正在失去性能按一定标准计算行** 并再次查询它们以获取数据。
$car_sql = mysql_query("SELECT COUNT(*) FROM ".$table." WHERE carid IS NOT NULL $criteria1 $criteria2 $criteria3");
$car_nr = mysql_result($car_sql, "0");
if($car_nr > 20){
$result = mysql_query("SELECT carid,pic0 FROM ".$table." WHERE carid IS NOT NULL $criteria1 $criteria2 $criteria3");
} else {
$result = mysql_query("SELECT carid FROM ".$table." LIMIT 20");
}
有什么想法吗?
答案 0 :(得分:3)
您可以将第一个和第二个查询结合起来,因为它们基本相同:
$car_sql = mysql_query("SELECT SQL_CALC_FOUND_ROWS carid,pic0 FROM ".$table." WHERE carid IS NOT NULL $criteria1 $criteria2 $criteria3");
但是你必须测试它是否比第一个单独的查询慢得多。
如果结果数通常大于20,会更快。