Mysql의 메모리 관리는 거대하고 고급이며 mem0pool.c 파일의 시작 주석에 설명되어 있습니다. 이는 대략 9개의 큰 블록을 포함하여 네 부분으로 나눌 수 있습니다:
9개의 큰 블록:
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개의 대형 블록을 4개의 파트로 관리합니다
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.
즉, 버퍼 풀, 리두 로그 버퍼, 일반 풀과 8개(사용자 세션 정보, 파트로 간주 가능)
리두 로그 버퍼를 관리합니다. Redo 부분으로 별도로 구분되며, 버퍼 풀은 내용이 많은 복잡한 부분이다. 위에서 일반 풀에 대해 언급했듯이 8, 1, 2를 제외하고 나머지는 자신이 관리한다.
MySQL은 C++로 개발되었습니다.
소스코드는 MySQL 공식 홈페이지 http://www.mysql.com/(C++
위 내용은 mysql 소스코드는 어떤 언어인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!