个人觉得你应该优化的是执行一条要10秒,而不是要执行200次。看看你完整的sql语句。

解决方案 »

  1.   

    要优化的是你的sql语句。循环没啥可以优化的。10秒一次查询这简直是无法接受的!
      

  2.   

    select count(*) from Business where .....;
    count(*)效率较低,强烈建议count(逐渐字段)的形式来优化sql,如count(Bussiness_id)!
      

  3.   

    String sql= "SELECT Count(*) FROM T_BUSINESSHISTORY where " +
             " ONTIME between TO_DATE('2012-04-1 08:00:00','yyyy-mm-dd hh24-mi-ss') " + 
             " and  TO_DATE('2012-04-01 9:00:00','yyyy-mm-dd hh24-mi-ss') and ONLON/3600000 between "+l_u_lon+" and  "+l_u_lon2+" and ONLAT/3600000 between "+l_u_lat2+" and "+l_u_lat;
      

  4.   

    String sql= "SELECT Count(*) FROM T_BUSINESSHISTORY where " +
             " ONTIME between TO_DATE('2012-04-1 08:00:00','yyyy-mm-dd hh24-mi-ss') " + 
             " and  TO_DATE('2012-04-01 9:00:00','yyyy-mm-dd hh24-mi-ss') and ONLON/3600000 between "+l_u_lon+" and  "+l_u_lon2+" and ONLAT/3600000 between "+l_u_lat2+" and "+l_u_lat;
    “ONLON/3600000” “ONLAT/3600000”把计算改到条件里面去先计算好,“TO_DATE('2012-04-1 08:00:00','yyyy-mm-dd hh24-mi-ss')” 不可以直接写成“2012-04-1 08:00:00”吗?
      

  5.   

    利用select count(1) from...不就可以了吗  只扫描一列数据  优化很多诶~