Task #51094
closedEpic #55070: Workpackages
Epic #54260: WP: FAL Missing Issues / Features / API
Story #54266: As an User I want FAL to be performant
SQL-Optimize the FAL
100%
Description
In the process of entering a lot of data in the TYPO3 6.1 backend, I have some realy big FAL performance problems.
I programmed an extension, that shows a list of 10 records per page. Every record has an image that is connected as a reference. This simple SQL takes over 35 seconds, because the SQL optimizer can't use an index for the two important fields "tablenames" and "fieldname" in the sys_file_reference table. If I have a lot of images in the system (over 5000), it takes a lot of time and makes the website unuseable. I created a new index on the sys_file_reference table with the following statement:
CREATE INDEX tablenames_fieldname_uids ON sys_file_reference (tablenames(50),fieldname(50),uid_foreign,uid_local);
This key improves the SELECT statement very much. The same simple SQL takes less than 1 second.
I think, the key length can be optimized. A better index would be a unique index, but it is possible to reference the same file more than once in an mn relation file field. I have no idea, if this functionality is needed. For me, it makes no sense to reference the same file in the same field more than once.
Updated by Philipp Gampe over 11 years ago
- Status changed from New to Accepted
- Target version deleted (
next-patchlevel) - TYPO3 Version changed from 6.1 to 6.0
- Complexity set to medium
FAL guys need to have a look at the queries indexes.
Updated by Steffen Ritter almost 11 years ago
- Subject changed from Improve FAL performance to Add index to sys_file_reference_table
- Parent task set to #54266
Updated by Steffen Ritter almost 11 years ago
- Estimated time set to 0.50 h
- Translation missing: en.field_remaining_hours set to 0.5
Updated by Steffen Ritter almost 11 years ago
- Subject changed from Add index to sys_file_reference_table to SQL-Optimize the FAL
- Estimated time set to 0.00 h
Updated by Mathias Schreiber almost 10 years ago
- Status changed from Accepted to Resolved
- Translation missing: en.field_remaining_hours deleted (
0.0)
fixed