Mysql 引擎之 mylsam

來源:互聯網
上載者:User

標籤:mysql 引擎之 mylsam


MYSQL 淺談MyISAM 儲存引擎

 思維導圖

 

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031517135244.png" style="border:0px;" />

 

 介紹

 

mysql中用的最多儲存引擎就是innodb和myisam。做為Mysql的預設儲存引擎,myisam值得我們學習一下,以下是我對《高效能MYSQL》書中提到的myisam的理解,請大家多多指教。

 

 特點

 

> 不支援事務

 

  證明如下:

     >> 表記錄:t2表的engine是myisam。

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031516463184.png" style="border:0px;" />

 

    >> 操作

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031516484493.png" style="border:0px;" />

注意:如果你在資料庫進行事務操作,但是事務無法成功,你就要看你的表引擎了,看這種引擎是否支援事務。

>> 下面請看innodb中的事務操作

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031516555969.png" style="border:0px;" />

  

> 儲存結構:資料檔案(.MYD),索引檔案(.MYI)和結構檔案(.frm)

   >> 特點:可以在不同伺服器上拷貝資料檔案和索引檔案。

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031516305238.png" style="border:0px;" />

> 加鎖和並發

         加鎖:對整張表進行加鎖,而不是行。

         並發:在讀資料的時候,所有的表上都可以獲得共用鎖定(讀鎖),每個串連都不互相干擾。

                 在寫資料的時候,獲得獨佔鎖定,會把整個表進行加鎖,而其他的串連請求(讀,寫請求)都處於等待中。

> 修複表

   >> 查看錶狀態

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031515164439.png" style="border:0px;" />

    >> check一下表,看錶是否正常。 

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031515175881.png" style="border:0px;" />

   >> repair(修複) 一下表。呵呵,我的這張表是正常的。

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031515195843.png" style="border:0px;" />

> 列索引。可以基於BLOB或TEXT類型列的前500個字元,建立相關索引。

   >> 給t2表添加一個text列。

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031515282031.png" style="border:0px;" />

   >> 表結構如下

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031515290428.png" style="border:0px;" />

   >> 為content欄位添加全文索引

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031515300284.png" style="border:0px;" />

   >> 查看錶的索引情況

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031515364270.png" style="border:0px;" />

> 延遲更新索引。MYISAM 預設把DELAY_KEY_WRITE開啟, 整個選項是MYISAM引擎專屬的。

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031515423473.png" style="border:0px;" />

注意:在查詢結束後,不會將索引的改變資料寫入磁碟,而是改變記憶體中的索引資料。只有在清理緩衝區或關閉表時才將索引塊轉儲到磁碟。

> 壓縮表

  >> 查看資料檔案位置

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031516020817.png" style="border:0px;" />

  >> 壓縮檔

650) this.width=650;" src="http://pic002.cnblogs.com/images/2012/152332/2012031516214375.png" style="border:0px;" />

 總結

 

 myisam在索引層和壓縮層的卓越貢獻,所以我們經常把myisam用於slave層,供用戶端去讀取。而myisam在寫庫操作的時候會產生獨佔鎖定,如果寫操作一直佔用的話,那麼其他串連請求一直就處於等待中,從而造成堵塞,甚至能把伺服器dang掉。

 


本文出自 “李世龍” 部落格,謝絕轉載!

Mysql 引擎之 mylsam

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.