Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 优化海量记录/数据的上传_Php_Postgresql_Extjs - Fatal编程技术网

Php 优化海量记录/数据的上传

Php 优化海量记录/数据的上传,php,postgresql,extjs,Php,Postgresql,Extjs,团队…我在上传2500到4000条数据记录时遇到了一个问题,需要等待一段时间,有时在服务器中超时 我在开发服务器上使用extjs3.4.0、php5.5.31和PostgreSQL作为我的应用程序 我的应用程序有3个选项卡,第一个选项卡是上载选项卡,我将在其中选择一个模板(以excel格式xlsx)并上载其内容。其他选项卡仅用于查看和下载模板。主要焦点是上载选项卡 在我的PHP代码中,循环记录(基于excel中的最大行数) 它具有检查每个循环记录的验证 它检查表中是否存在数据记录,然后更新该数

团队…我在上传2500到4000条数据记录时遇到了一个问题,需要等待一段时间,有时在服务器中超时

我在开发服务器上使用extjs3.4.0、php5.5.31和PostgreSQL作为我的应用程序

我的应用程序有3个选项卡,第一个选项卡是上载选项卡,我将在其中选择一个模板(以excel格式xlsx)并上载其内容。其他选项卡仅用于查看和下载模板。主要焦点是上载选项卡

在我的PHP代码中,循环记录(基于excel中的最大行数)

  • 它具有检查每个循环记录的验证
  • 它检查表中是否存在数据记录,然后更新该数据,如果不存在,则插入新记录
这里的问题是,它需要20到25分钟的时间…有没有办法优化这个场景


谢谢

php是一种脚本语言,可以进行解释。此外,Excel支持也不是最好的。也许你可以把这项工作交给一个本地c程序。我不太喜欢c程序@recycler:(需要对此进行优化…fak X_X
它会检查表中是否存在数据记录,然后更新该数据,如果不存在,则插入新记录
。闻起来好像每个记录都要进行三次数据库往返。您不需要这样做。您可以通过一次操作完成。或者更好:将所有记录插入临时表,然后更新/插入f。)rom在那里;都在数据库内。如果您对每条记录使用较少的查询,您肯定可以将进程加快10倍或更多,如果您切换到存储过程并让数据库完成所有操作,则可以将进程加快10倍或更多。我估计您可以缩短到5秒以下。为了更好地估计,您必须向我们展示我们的代码。我所做的是,在循环部分,它验证每个数据记录,每个记录将存储在一个数组中…在验证之后(在循环外部),它将在一次插入查询中插入,我猜这会加快过程:)