Feature #27372
closedEpic #55070: Workpackages
Epic #55065: WP: Overall System Performance (Backend and Frontend)
Task #55179: Optimize SQL Performance
Execute native prepared queries in t3lib_DB
100%
Description
Currently, t3lib_DB
does not execute prepared queries, even when the prepared functions are used. All queries are transformed to "normal" MySQL queries. Only DBAL takes advantage of using them ATM.
This should be fixed for 4.6 I think.
Files
Updated by Benni Mack over 10 years ago
wip patch attached. Xavier will work on this in the next weeks.
Updated by Ernesto Baschny over 10 years ago
- Status changed from New to Accepted
- Target version set to 6.2.0
+1 on that, thanks!
Updated by Markus Klein over 10 years ago
- Target version deleted (
6.2.0) - Complexity set to hard
I took a closer look here.
To sum it up: quite hard
- Our DB API supports named parameters (:placeholder), but MySQL does not.
- The patch from Benni does not take DBAL into account at all. So this is a no go.
- The mysqli_stmt::get_result() (buffered result) method is only available with mysqlnd driver according to php docs.
We'd need to:
- Get DBAL straight for 6.2 (#50752)
- Implement a translation layer from named to positioned parameters, which would involve some sort of query parsing again.
- Make the PreparedStatement class independent of any database link, as the exact link used is different for every driver used in DBAL.
- Emulate a buffered result, if mysqlnd is not available, to make the PreparedStatement::seek() function work
So IMHO this is a topic for 6.3+
Updated by Felix Oertel over 10 years ago
- Assignee set to Xavier Perseguers
- Target version set to 6.2.0
- TYPO3 Version changed from 4.6 to 6.2
Xavier will work on this and tries to push a WIP patch this evening. In the morning I will have a look and possibly pick up ...
Updated by Gerrit Code Review over 10 years ago
- Status changed from Accepted to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/28231
Updated by Gerrit Code Review over 10 years ago
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/28231
Updated by Gerrit Code Review over 10 years ago
Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/28231
Updated by Gerrit Code Review over 10 years ago
Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/28231
Updated by Gerrit Code Review over 10 years ago
Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/28231
Updated by Gerrit Code Review over 10 years ago
Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/28231
Updated by Gerrit Code Review over 10 years ago
Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/28231
Updated by Gerrit Code Review over 10 years ago
Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/28231
Updated by Gerrit Code Review over 10 years ago
Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/28231
Updated by Xavier Perseguers over 10 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 5487900c5ad094cd8dc733f5e8cdc627673e94ff.
Updated by Riccardo De Contardi almost 7 years ago
- Status changed from Resolved to Closed