在Codeigniter上查询花费太长时间的大数据

时间:2019-02-08 04:45:05

标签: php sql-server oracle codeigniter

我正在创建一个小型站点,用于将数据从Oracle导入SQL Server数据库,但是它花费的时间太长并且占用了太多的内存。我已经尝试使用SQL Developer和SQL Server Management进行查询,并且都可以快速运行并且没有错误。

我正在使用以下代码从Oracle数据库检索数据:

$data = $this->oracle->query($query);
$oracle_data = $this->model_oracle->get_headers($a)->result_array();

并使用以下代码将其插入SQL Server:

$sqlsrv->trans_start();
$sqlsrv->truncate('tr_header');
$sqlsrv->insert_batch('tr_header',$header_oracle);
$sqlsrv->trans_complete();

没有计算或数据处理,仅获取和插入。数据大约有140.000行,并且花费了超过1个小时来完成并使用了200MB以上的内存(来自php.ini)。我相信查询没有问题,因为如果我必须将其与其他程序中的运行方式进行比较:

在SQL Developer上选择:1-2分钟

在SQL Server上插入:<1分钟

使用SSIS:〜10分钟

那么,有什么方法可以改善性能?

0 个答案:

没有答案