Actions
Bug #83451
closedDatabaseRowsUpdateWizard Out of Memory on big tables
Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Install Tool
Target version:
Start date:
2018-01-02
Due date:
% Done:
0%
Estimated time:
TYPO3 Version:
8
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:
Description
The "database migrations on single rows" wizard selects complete tables, which leads to memory exhausted on large tables (on my system 1,6 million rows) as all rows get selected. Normally the rows should only be read from database while one row is processed after the other one (as we don't use something like fetchAll) but there are PHP issues around the buffering on MySQLi and pdo_mysql drivers.
See https://secure.php.net/manual/en/mysqlinfo.concepts.buffering.php about this (And special one in MySQLi see https://github.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php#L192).
So we should move from select all to select only 1(0).000 rows at once. This will be slower but helps in this OoM issue.
Actions