数据很简单 都是些编码  有100万  现在想把它们查询出来 生成execl文件,但是很慢,如何优化呢?服务器关闭安全模式了set_time_limit依然提示在安全模式下无法运行,怎么回事呢?各位大大

解决方案 »

  1.   

    一次性全部取出所有的数据 生成文件  这个应该不行 需配合set_time_limit。但Cannot set time limit in safe mode 。可是服务器的safe_mode是off,没打开,郁闷啊
      

  2.   


    试试直接在数据库服务器上面,用shell模式的 mysql -uroot -pxxx dbname tablename > 22.excel
      

  3.   


    是慢在哪里啊? 查询慢还是进入excel慢还是 远程导出网络传输过程慢呢?
      

  4.   

    导出excel 是慢  就是数据在PHP脚本默认执行时间内 执行不完  只能生成 部分数据需配合set_time_limit。但Cannot set time limit in safe mode 。可是服务器的safe_mode是off,没打开
      

  5.   

    服务器的安全模式是关的 但运行程序是 还是提示Cannot set time limit in safe mode 
      

  6.   

    你可以先导出到TXT,再用EXCEL处理
    select into outfile
      

  7.   


    你可以在MySQL Workbench工具里面试试,工具里面有这个生产excel的功能,我这里面的200W记录,很快就生产了excel了,不会卡住的。
      

  8.   


    你看我的,在数据库服务器上面的mysql窗口里面执行,很快就导出了100多W记录到excel里面。mysql> SELECT * into outfile '/tmp/rpt_style1_0.xls' FROM `csf_pub`.`rpt_style1_0` ;
    Query OK, 1628696 rows affected (4.70 sec)
      

  9.   


    奇怪了,你导出100W记录到excel里面去,你要知道一个excel选项卡里面只能装65536行记录的。
      

  10.   

    直接保存成txt 不行么? 
    导出来?备份?
      

  11.   


    chmod 755 mysql
    在linux下设置mysql账号为755权限,有mkdir的功能了。
      

  12.   


    不是吧,100W打印啊,那得多少page啊?撑死了50行一页,你不是要打印2W页,2W张纸?
    哪个公司这样搞啊,老板不疯掉了啊!
      

  13.   


    仔细看看业务规则,然后筛选出自己需要的数据,导出excel来打印
      

  14.   

    导出到TXT文凭 ,在EXCEL中设置格式在打印
      

  15.   

    100万记录是无法保存到EXCEL中的。只能分开保存。
    建议你还是先做SELECT查询,然后把需要 的记录导出进行打开。你可以直接使用EXCEL的MSquery 来查询MYSQL中符合条件的记录。
      

  16.   

    csv文件即可。应该很快。