【发布时间】:2018-10-22 09:50:05
【问题描述】:
我有很多数据可以导出到 csv 文件中。我的函数循环到每个字段并执行一个函数以从 sql 表中获取数据。 现在我有一个非常大的数据库,我想在不更改 memory_limit 配置的情况下导出一些数据,因为我不想阻止其他用户。
如何执行我的功能?
例如: 我有 100000 人,每个人都有很多版本的一些数据。他们每天都会保存这样的信息:
Person Table
+-----------+-------------+-------------+
| id_person | name_person | city_person |
+-----------+-------------+-------------+
| 1 | Jack | Paris |
+-----------+-------------+-------------+
| 2 | John | London |
+-----------+-------------+-------------+
| ... | ... | ... |
+-----------+-------------+-------------+
| 99999 | Rose | Madrid |
+-----------+-------------+-------------+
| 100000 | Jackie | Rome |
+-----------+-------------+-------------+
Field Table
+----------+------------+-------------------+
| id_field | name_field | label_field |
+----------+------------+-------------------+
| 1 | Location | Visited location |
+----------+------------+-------------------+
| 2 | Article | Count of articles |
+----------+------------+-------------------+
| ... | ... | ... |
+----------+------------+-------------------+
| 289 | Distance | Distance |
+----------+------------+-------------------+
| 299 | Pause | Time of pause |
+----------+------------+-------------------+
Field Value Table
+----------+----------+-----------+----------------+------------+
| id_value | id_field | id_person | value | Date |
+----------+----------+-----------+----------------+------------+
| 1 | 1 | 148 | Hanover Street | 2015-05-10 |
+----------+----------+-----------+----------------+------------+
| 2 | 66 | 57962 | 20 | 2015-05-10 |
+----------+----------+-----------+----------------+------------+
| ... | ... | ... | ... | |
+----------+----------+-----------+----------------+------------+
| 3475992 | 105 | 847 | 17,5 | 2018-02-01 |
+----------+----------+-----------+----------------+------------+
| 3475993 | 15 | 66359 | 44 | 2018-02-01 |
+----------+----------+-----------+----------------+------------+
每个字段都有特定的功能来获取数据。
如何在不更改限制内存的情况下将所有数据导出到 csv 文件中?
谢谢
【问题讨论】:
-
请向我们展示您是如何组装和写出这些数据的,并说明您在什么时候遇到了这个问题。
-
我对字段表中的每个字段都有一个功能。例如:我有函数 GetArticle($persons) 这个函数在字段值表中搜索 $person 数组中每个人的文章字段值的最后一个版本。当 $persons 列表很大并且字段列表也很大时。我有超时和内存限制错误
-
对不起,我在完成评论之前按了回车!