PHP PDO查询,在超过1000万行的MS ACCESS数据库中优化速度性能

问题描述 投票:0回答:1

我必须将MS Access数据库导入MySQL。其中一张表拥有近一千万条记录。我正在尝试每次进行4000行分页。问题是MS Access查询持续超过35秒(4000行分页中的35秒大约是24小时...)。]

这是MS Access连接的代码:

$dataSourceName = "odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=".$this->dbPath."; Pwd=";
$this->connection = new PDO($dataSourceName, "", "");
$sql = "SELECT TOP $pageSize * FROM $table WHERE $table.$primaryField > $lastIndex ORDER BY $table.$primaryField";
$rs  = $this->connection->query($sql)->fetchAll(\PDO::FETCH_ASSOC);

$primaryField在Access中是一个整数(主键)。

我如何加快此查询的速度?我做错什么了吗?

我必须将MS Access数据库导入MySQL。其中一张表拥有近一千万条记录。我正在尝试每次进行4000行分页。问题是MS Access查询持续...

php mysql ms-access pdo etl
1个回答
0
投票

您的任务通常被称为ETL

© www.soinside.com 2019 - 2024. All rights reserved.