MySql的資料庫優化到底優啥了都??(2)
嘟嘟在寫此篇文章之前心裡先默唸(簡單,通俗,工整)*10
吟唱完了,進入正題
3.Memory儲存引擎
除了存放一個表結構相關資訊的.frm檔案在磁碟上,其他資料都儲存在記憶體中。說白點哪天你資料庫宕機了,Memory表就只剩下表結構了。
支援索引不支援事務,索引有Hash和B-Tree兩種格式
由於放在了記憶體中,所以Memory都是按照定長的空間存放資料,而且不支援BLOB和Text型別的欄位
頁級鎖定 (limit)
其他的資料庫儲存引擎嘟嘟就不在這裡面一一贅述了,世面上應用場景比較廣泛的主要就是InnoDB和MyISAM
儲存引擎的管理
show engines 檢視資料庫支援的儲存引擎(以MySql5.5為例)
show variables like '%storage_engine%' 檢視當前儲存引擎
show create table 表名 檢視建表資訊(包含儲存引擎的資訊)
alter table 表名 engine = 儲存引擎名 (需要注意的是如果修改前是InnoDB並且存在外來鍵,那麼轉化為MyISAM就會失敗哦)
create table 表名稱 (欄位名 欄位型別,。。。。) engine = 儲存引擎名 (建立表時指定儲存引擎)
修改預設儲存引擎
windows系統 MySql安裝目錄/my.ini 檔案 default-storage-engine = 引擎名
Linux系統 -/etc/my.cnf 同理
儲存引擎的相關知識嘟嘟就先介紹到這裡,因為嘟嘟也是現學現賣,所以粗淺之處還望多多指點,接下來嘟嘟會繼續去學習關於索引的相關問題,不過今天都快12點了,嘟嘟不是個夜貓子,也希望大家珍愛生命遠離熬夜。(不知道程式設計師哥哥們每天都幾點睡覺??)最後祝大家晚安。