程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MYSQL 淺談MyISAM 存儲引擎

MYSQL 淺談MyISAM 存儲引擎

編輯:關於MYSQL數據庫
思維導圖  

   介紹          mysql中用的最多存儲引擎就是innodb和myisam。做為Mysql的默認存儲引擎,myisam值得我們學習一下,以下是我對《高性能MYSQL》書中提到的myisam的理解,請大家多多指教。    特點   > 不支持事務     證明如下:      >> 表記錄:t2表的engine是myisam。

 

    >> 操作

注意:如果你在數據庫進行事務操作,但是事務無法成功,你就要看你的表引擎了,看這種引擎是否支持事務。 >> 下面請看innodb中的事務操作

   > 存儲結構:數據文件(.MYD),索引文件(.MYI)和結構文件(.frm)    >> 特點:可以在不同服務器上拷貝數據文件和索引文件。

> 加鎖和並發          加鎖:對整張表進行加鎖,而不是行。          並發:在讀數據的時候,所有的表上都可以獲得共享鎖(讀鎖),每個連接都不互相干擾。                  在寫數據的時候,獲得排他鎖,會把整個表進行加鎖,而其他的連接請求(讀,寫請求)都處於等待中。 > 修復表    >> 查看表狀態

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

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

> 列索引。可以基於BLOB或TEXT類型列的前500個字符,創建相關索引。    >> 給t2表添加一個text列。

   >> 表結構如下

   >> 為content字段添加全文索引

   >> 查看表的索引情況

> 延遲更新索引。MYISAM 默認把DELAY_KEY_WRITE開啟, 整個選項是MYISAM引擎獨有的。

注意:在查詢結束後,不會將索引的改變數據寫入磁盤,而是改變內存中的索引數據。只有在清理緩沖區或關閉表時才將索引塊轉儲到磁盤。

> 壓縮表

  >> 查看數據文件位置

  >> 壓縮文件

 總結    myisam在索引層和壓縮層的卓越貢獻,所以我們經常把myisam用於slave層,供客戶端去讀取。而myisam在寫庫操作的時候會產生排他鎖,如果寫操作一直占用的話,那麼其他連接請求一直就處於等待中,從而造成堵塞,甚至能把服務器dang掉。   參考文件:《高性能MYSQL》
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved