Details
-
Improvement
-
Status: Open
-
Normal
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Use-case:
Run the repository checker tool cleands task on Oracle
Issue:
Oracle db had an issue (ORA-01652: unable to extend temp segment by 128 in tablespace TEMP) while executing the query "select NODE_ID, BUNDLE_DATA from VERSION_BUNDLE ORDER BY NODE_ID” on 11 million records.
After investigating, turned out to be because of the ORDER BY (even though the field NODE_ID is PK).
Since the codebase is needing only maxCount rows (method BundleDbPersistanceManager#getAllNodeInfos), could get around it by appending to the query FETCH FIRST ” + maxCount + ” ROWS ONLY.
Does it make sense to introduce these db specific optimisations on the various extensions OraclePersistenceManager, MySqlPersistanceManager…?