Feature - Add field for page id in DB table for broken links
since verion 7.0.0
Important
When updating to version 7.0.0, should perform DB schema updates and execute upgrade wizard!
A field record_ is added to the database table
tx_. This will always contain the uid of the related
page, either of the page itself if the broken link is in the pages table, or
the pid if any other record.
Impact
- performance improvements (depending on number of pages)
Migration
Important
- Update database schema
- Perform upgrade wizard
php vendor/bin/typo3 database:updateschema
vendor/bin/typo3 upgrade:run brofix_copyPidToPageid
Details about change
For users of brofix, it is not necessary to read this. It provides further details for developers of this extension.
Adding the field record_ to the database table tx_
makes it possible to simplify a number of database queries and improve the
sorting of elements.
Previously, it was always necessary to query if
tx_ containes 'pages' or not and then use
either record_ or record_ as field to obtain the page
id. The previous behavior doubled the number of parameters in prepared statement.
This used to not be a big problem in previous versions because a workaround was introduced chunking the array of page ids if they reached a certain limit so the query did not reach the number of parameters in prepared statement limit. Reducing the limit to 50% might result in performance improvement in cases with large number of pages.
Additionally, the array chunking made it impossible to properly paginate fetching only the items for the current page, which also has a performance impact.
So, due to this change, further performance improvements are possible in the future.