Bug #91420 Allocate DD auto releaser maps on demand
Submitted: 26 Jun 2018 10:03 Modified: 14 Aug 2018 17:43
Reporter: Sivert Sørumgård Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Data Dictionary Severity:S3 (Non-critical)
Version:8.0.11 OS:Any
Assigned to: CPU Architecture:Any

[26 Jun 2018 10:03] Sivert Sørumgård
Description:
Allocating the DD auto releaser on the stack involves allocating a number of std::maps. This has a bad performance impact, especially on Windows.

How to repeat:
Allocate a DD auto releaser e.g. for each SQL statement being executed. Observe performance impact on Windows.

Suggested fix:
Allocate maps on demand rather than up front.
[14 Aug 2018 17:43] Daniel Price
Posted by developer:
 
Fixed as of the upcoming 8.0.13 release, and here's the changelog entry:

The data dictionary auto releaser now allocates maps for data dictionary
object types dynamically. Also, maps were added for column statistics and
resource groups used in size calculations and object removal, and an auto
releaser was added for ANALYZE TABLE operations.