memory 存儲引擎,通過名字就很容易讓人知道,他是一個將數據存儲在內存中的存儲引擎。memory 存儲引擎不會將任何數據存放到磁盤上,僅僅存放了一個表結構相關信息的.frm 文件在磁盤上面。所以一旦 mysql crash 或者主機 crash 之后,memory 的表就只剩下一個結構了。memory 表支持索引,并且同時支持 hash 和 b-tree 兩種格式的索引。由于是存放在內存中,所以 memory 都是按照定長的空間來存儲數據的,而且不支持 blob 和 text類型的字段。memory 存儲引擎實現頁級鎖定。
既然所有數據都存放在內存中,那么他對內存的消耗量是可想而知的。在 MySQL 的用戶手冊上面有這樣一個公式來j計算Memory 表實際需要消耗的內存大小:
SUM_OVER_ALL_BTREE_KEYS(max_Length_of_key + sizeof(char*) * 4)
? ? + SUM_OVER_ALL_HASH_KEYS(sizeof(char*) * 2)?
? ? + ALIGN(length_of_row+1, sizeof(char*))
?以上就是Mysql存儲引擎之Memory存儲引擎的介紹的內容,更多相關內容請關注PHP中文網(www.php.cn)!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END