Die Speicherverwaltung von MySQL ist riesig und fortgeschritten, was in den Eröffnungskommentaren der Datei mem0pool.c erläutert wird. Sie kann grob in vier Teile unterteilt werden, darunter 9 große Blöcke:
Neun Chunks:
buffer pool, parsed andoptimized SQL statements, data dictionarycache, log buffer, locks for eachtransaction, hash table forthe adaptive index, state andbuffers for each SQL query currently being executed, session foreach user, and stack for eachOS thread.
9 Chunks werden über 4 Teile verwaltet
A solution tothe memory management: 1. the bufferpool size is set separately; 2. log buffersize is set separately; 3. the commonpool size for all the other entries, except 8, is set separately.
Das heißt, Pufferpool, Redo-Log Puffer, gewöhnlicher Pool und 8 (Benutzersitzungsinformationen, können als Teil betrachtet werden)
Der Redo-Log-Puffer wird vom Redo-Teil separat verwaltet. Der Pufferpool ist ein Komplexer Teil mit viel Inhalt, außer 8 und 1,2. Der Rest steht unter seiner Kontrolle.
MySQL wird in C++ entwickelt.
Auf der offiziellen MySQL-Website http://www.mysql.com/ steht der Quellcode zum Herunterladen bereit, nämlich C++
Das obige ist der detaillierte Inhalt vonIn welcher Sprache ist der MySQL-Quellcode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!