将大量数据(20000行)从Mysql导出到Excel(使用Php)

我想从MySQL 导出大量的数据(20000行)到excel(用PHP)数据来自两个表。 第一个表的每个logging都有第二个表logging的ID。 我正在使用PHPExcel库。

伪代码:

$first_table = mysql_query("SELECT * FROM table_1") foreach($first_table as $row){ $store_id = $row['store_id']; $second_table = mysql_query("SELECT * FROM table_2 Where ID = $store_id"); } 

在这种情况下,MySQL查询运行的时间(第一个表中findlogging)现在的问题是,它需要太长的时间来处理,并没有结果php屏幕变成空白(白色)……我认为这是执行超时问题…

任何解决scheme

恕我直言,20K行不是那么大。 如何利用JOIN并在MySql的一次往返中获得完整的结果集

 SELECT t1.*, t2.* FROM table1 t1 JOIN table2 t2 ON t1.store_id = t2.store_id 

优化查询的select部分,以便只返回真正需要的列。

从你的问题不清楚,但如果你只需要导出可以在Excel中打开的数据,而不是build立一个奇特的报告,那么你可以使用INTO OUTFILE子句非常快速地生成CSV文件

 SELECT t1.*, t2.* INTO OUTFILE '/tmp/tablename.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table1 t1 JOIN table2 t2 ON t1.store_id = t2.store_id