MySQL5.6 在使用內存資源時,存在一個問題,就是內存不會被及時釋放。
該問題的原因是MySQL5.6采用了一種叫做“變長內存管理”的方式,即在需要內存時,先從內存池中分配內存,然后用完后再返回到內存池中。
但是,這種方式存在一個問題,即在很多情況下,返回內存的時間無法預測。這就導致了內存不會被及時釋放。
/*
* 下面的代碼演示了在MYSQL5.6下分配內存的方法
*/
char *str;
str = (char *)malloc(sizeof(char)*100);
//當不需要使用str指針時,該內存將不會立即被回收
解決這個問題的方法就是手工觸發內存池的釋放函數。
/*
* 下面的代碼演示了手工觸發內存池的釋放函數
*/
mysql_thread_end();
mysql_server_end();
這樣就可以完全釋放MySQL5.6使用的內存資源,避免內存泄漏的問題。
下一篇css垂直居中v