解决方案 »

  1.   

    过滤掉传入条件的空项,可用 array_diff
    如 $_POST = array_diff($_POST, array(''));
    没有了空项,组装 sql 就简单多了虽然正常都为空,但你不也是在循环中一一判别吗?一万条数据不就要判断数万次吗?如果没有查询条件,那又何必每次都去组装呢?
    在 select 指令中加上 INTO OUTFILE 子句不就直接输出到文件中去了吗
      

  2.   

    我是一次性全取出来了,因为还要生成相应格式的文件,所以循环了那个数组,比如html格式 填个table,tr,td什么的。
    条件为空的话,就不执行判断是否符合条件的那个了啊。不是
      

  3.   

    好像是我自己的问题,是下载文件最后的 echo 导致会很卡,跟数据库关系不大。。所以百度了下,在echo 字符串的前面加入 ob_start(), 在这期间,echo 每条数据,最后flush(),ob_flush(), ob_end_clean()全部输出来,暂时不会需要太久的时间。。