-
Notifications
You must be signed in to change notification settings - Fork 75
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mysql: Batch select queries when required.
Closes #1608 This commit updates the mysql package to batch SELECT queries if the number of records being requested exceedes the MySQL limit for the maximum number placeholders that can be included in a prepared statement (65,535 placeholders). As a side note, manually testing this commit required loading a tlog tree with >65,535 leaves. This was surprisingly difficult to do and highlights how we're using tlog in a way that it's not really built for. We will need to write our own append-only log implementation at some point in order to remove the performance bottlenecks that tlog has. Log statements from the manual testing are shown below. ``` 2021-12-20 09:04:55.964 [DBG] STOR: Get 83698 blobs using 2 prepared statements 2021-12-20 09:04:55.965 [DBG] STOR: Executing select statement 1/2 2021-12-20 09:04:56.925 [DBG] STOR: Executing select statement 2/2 ```
- Loading branch information
Showing
5 changed files
with
446 additions
and
62 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.