《Mysql入門MYSQL 淺談MyISAM 存儲引擎》要點:
本文介紹了Mysql入門MYSQL 淺談MyISAM 存儲引擎,希望對您有用。如果有疑問,可以聯系我們。
思維導圖
?
MYSQL應用
?
?介紹
?
?????? mysql中用的最多存儲引擎就是innodb和myisam.做為Mysql的默認存儲引擎,myisam值得我們學習一下,以下是我對《高性能MYSQL》書中提到的myisam的理解,請大家多多指教.
?
?特點
?
> 不支持事務
?
? 證明如下:
???? >> 表記錄:t2表的engine是myisam.
MYSQL應用
MYSQL應用?
MYSQL應用??? >> 操作
MYSQL應用
注意:如果你在數據庫進行事務操作,但是事務無法成功,你就要看你的表引擎了,看這種引擎是否支持事務.
>> 下面請看innodb中的事務操作
MYSQL應用
??
> 存儲結構:數據文件(.MYD),索引文件(.MYI)和結構文件(.frm)
?? >> 特點:可以在不同服務器上拷貝數據文件和索引文件.
MYSQL應用
> 加鎖和并發
? ?????? 加鎖:對整張表進行加鎖,而不是行.
???????? 并發:在讀數據的時候,所有的表上都可以獲得共享鎖(讀鎖),每個連接都不互相干擾.
???????????????? 在寫數據的時候,獲得排他鎖,會把整個表進行加鎖,而其他的連接請求(讀,寫請求)都處于等待中.
> 修復表
?? >> 查看表狀態
MYSQL應用
??? >> check一下表,看表是否正常.?
MYSQL應用
?? >> repair(修復) 一下表.呵呵,我的這張表是正常的.
MYSQL應用
> 列索引.可以基于BLOB或TEXT類型列的前500個字符,創建相關索引.
?? >> 給t2表添加一個text列.
MYSQL應用
?? >> 表結構如下
MYSQL應用
MYSQL應用?? >> 為content字段添加全文索引
MYSQL應用
MYSQL應用?? >> 查看表的索引情況
MYSQL應用
MYSQL應用> 延遲更新索引.MYISAM 默認把DELAY_KEY_WRITE開啟, 整個選項是MYISAM引擎獨有的.
MYSQL應用
MYSQL應用注意:在查詢結束后,不會將索引的改變數據寫入磁盤,而是改變內存中的索引數據.只有在清理緩沖區或關閉表時才將索引塊轉儲到磁盤.
MYSQL應用? >> 查看數據文件位置
MYSQL應用
MYSQL應用? >> 壓縮文件
MYSQL應用
?總結
?
?myisam在索引層和壓縮層的卓越貢獻,所以我們經常把myisam用于slave層,供客戶端去讀取.而myisam在寫庫操作的時候會產生排他鎖,如果寫操作一直占用的話,那么其他連接請求一直就處于等待中,從而造成堵塞,甚至能把服務器dang掉.
?
參考文件:《高性能MYSQL》
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/6443.html