asked 64.9k views
5 votes
Which three statements are true about memory buffer allocation by a MySQL Server?

a) Global buffers such as the InnoDB buffer pool are allocated after the server starts, and are never freed.
b) Thread buffers are allocated when a client connects, and are freed when the client disconnects.
c) Buffers that are needed for certain operation are allocated when the operation starts, and freed when it ends.
d) User buffers are allocated at server startup and freed when the user is dropped.
e) All dynamic buffers that are set with a SET GLOBAL statement immediately get allocated globally, and are never freed.

asked
User Skylerl
by
8.2k points

1 Answer

3 votes

Final answer:

Global buffers are never freed, thread buffers are freed when client disconnects, and operation buffers are freed when the operation ends.

Step-by-step explanation:

a) Global buffers such as the InnoDB buffer pool are allocated after the server starts, and are never freed. This means that once these buffers are allocated, they will remain in memory for the duration of the server's uptime.

b) Thread buffers are allocated when a client connects, and are freed when the client disconnects. These buffers are specific to each client connection and are released once the connection is terminated.

c) Buffers that are needed for certain operations are allocated when the operation starts, and freed when it ends. These buffers are temporary and are used to store data or intermediate results during the execution of specific operations.