更快的获取我的mysql数据的方法

时间:2012-01-09 18:45:23

标签: php mysql

在我的网站上,我遇到了相当高的服务器加载时间,我正在考虑如何优化我的一些mysql查询。

我现在做的事情:

  1. 首先,我计算表格中的所有车辆有一定的标准;

  2. 如果汽车数量大于20 ,我使用这些条件进行查询;

  3. 如果数字较小,我会进行更一般的搜索,只是为了在页面上显示一些结果。
  4. 有更快的方法吗?

    似乎我正在失去性能按一定标准计算行** 并再次查询它们以获取数据。

    $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"); 
    }
    

    有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以将第一个和第二个查询结合起来,因为它们基本相同:

$car_sql = mysql_query("SELECT SQL_CALC_FOUND_ROWS carid,pic0 FROM ".$table." WHERE carid IS NOT NULL $criteria1 $criteria2 $criteria3");

但是你必须测试它是否比第一个单独的查询慢得多。

如果结果数通常大于20,会更快。