下面一起來了解下簡單認(rèn)識MySQL的MyISAM 存儲引擎,相信大家看完肯定會受益匪淺,文字在精不在多,希望簡單認(rèn)識MYSQL的MyISAM 存儲引擎這篇短內(nèi)容是你想要的。
創(chuàng)新互聯(lián)公司從2013年成立,先為石棉等服務(wù)建站,石棉等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為石棉企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
特點
> 不支持事務(wù)
證明如下:
>> 表記錄:t2表的engine是myisam。
>> 操作
注意:如果你在數(shù)據(jù)庫進行事務(wù)操作,但是事務(wù)無法成功,你就要看你的表引擎了,看這種引擎是否支持事務(wù)。
>> 下面請看innodb中的事務(wù)操作
> 存儲結(jié)構(gòu):數(shù)據(jù)文件(.MYD),索引文件(.MYI)和結(jié)構(gòu)文件(.frm)
>> 特點:可以在不同云服務(wù)器上拷貝數(shù)據(jù)文件和索引文件。
> 加鎖和并發(fā)
加鎖:對整張表進行加鎖,而不是行。
并發(fā):在讀數(shù)據(jù)的時候,所有的表上都可以獲得共享鎖(讀鎖),每個連接都不互相干擾。
在寫數(shù)據(jù)的時候,獲得排他鎖,會把整個表進行加鎖,而其他的連接請求(讀,寫請求)都處于等待中。
> 修復(fù)表
>> 查看表狀態(tài)
>> check一下表,看表是否正常。
>> repair(修復(fù)) 一下表。呵呵,我的這張表是正常的。
> 列索引??梢曰贐LOB或TEXT類型列的前500個字符,創(chuàng)建相關(guān)索引。
>> 給t2表添加一個text列。
>> 表結(jié)構(gòu)如下
>> 為content字段添加全文索引
>> 查看表的索引情況
> 延遲更新索引。MYISAM 默認(rèn)把DELAY_KEY_WRITE開啟, 整個選項是MYISAM引擎獨有的。
注意:在查詢結(jié)束后,不會將索引的改變數(shù)據(jù)寫入磁盤,而是改變內(nèi)存中的索引數(shù)據(jù)。只有在清理緩沖區(qū)或關(guān)閉表時才將索引塊轉(zhuǎn)儲到磁盤。
> 壓縮表
>> 查看數(shù)據(jù)文件位置
>> 壓縮文件
總結(jié)
myisam在索引層和壓縮層的卓越貢獻,所以我們經(jīng)常把myisam用于slave層,供客戶端去讀取。而myisam在寫庫操作的時候會產(chǎn)生排他鎖,如果寫操作一直占用的話,那么其他連接請求一直就處于等待中,從而造成堵塞,甚至能把云服務(wù)器dang掉。
看完簡單認(rèn)識MYSQL的MyISAM 存儲引擎這篇文章后,很多讀者朋友肯定會想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。