myisam搜尋引擎(5.5之前預設的資料庫引擎)
多執行緒的環境下,對於資料來說是不安全的,所以這時候就要考慮到安全問題,myisam還使用一種**鎖定的機制,來優化多個併發環境下讀寫的問題。例如,多個使用者同時訪問乙個資料庫的時候,想要查詢某一條資料這時候myisam提供一種 共享鎖的機制,就是多個使用者可以同時查一條資料,如果這時候某乙個使用者要對這一條資料進行修改,會將這一行資料加上排他鎖,排他鎖意味著在更新這條資料之前,只能有這個使用者操作,其他使用者不能夠查詢,當這一行資料更新完成之後排他 鎖就會進行釋放,回到原來使用者都可以對這條資料查詢的許可權。
注意:使用myisam的時候,需要注意使用optimize table命令清理空間,必須實時備份所有的實時資料。
如果使用該引擎的話,會生成三個檔案:
------------ .frm 表結構資訊
------------ .myd 資料檔案
------------ .myi 表的索引資訊
使用該引擎最大的好處就是優化查詢
myisam與innodb的區別
1)innodb 支援事務,myisam不支援事務,innodb會把每個sql語句自動封裝成事務。
2)innodb 支援外來鍵,myisam不支援外來鍵,外來鍵不能夠跨引擎操作。
3)innodb 是聚集索引,資料檔案和索引綁在一起的,必須要有主鍵,通過主鍵效率查詢更高。
4)innodb 不會儲存表的具體行數,我們則需要通過 select count(*) from tablename 來進行全表掃瞄,全面掃瞄是相當耗
費時間的;而myisam使用了乙個變數儲存了這個行數。
5)innodb 不支援全文本搜尋,myisam則支援全文本搜尋,查詢效率上myisam較高。
究竟該如何選擇使用哪種搜尋引擎呢?
1)是否要支援事務,如果要請使用innodb,不需要則可以考慮myisam。
2)如果在表中大多數只是讀查詢,那麼可以使用myisam,如果既有讀寫也很頻繁,那麼可以使用innodb。
3)系統崩潰後,myisam恢復起來比較麻煩,是否可以接受這種災難。
4)mysql5.5版本之後,就開始支援了innodb引擎(之前是myisam),說明其優勢是有目共睹的,如果實在不知道選擇什麼,那
麼就是用innodb,至少是不會錯的。
MySQL資料庫引擎介紹
如果你是個賽車手,並且按一下按鈕就能夠立即更換引擎而不需要把車開到車庫裡去換,那會是什麼感覺呢?mysql資料庫為開發人員所做的就好像是按按鈕換引擎 它讓你選擇資料庫引擎,並給你一條簡單的途徑來切換它。mysql的自帶引擎肯定是夠用了,但是在有些情況下,其他的引擎可能要比手頭所用更適合完成任務。如果...
資料庫 儲存引擎介紹
mysql最大的特點是支援外掛程式式的儲存引擎。常用的儲存引擎有 innodb myisam memory引擎。一般預設的為innodb儲存引擎。種類myisam innodb memory 鎖機制表鎖 行鎖表鎖 b 樹索引 支援支援 支援雜湊索引 不支援不支援 支援外來鍵 不支援支援 不支援事務 ...
Mysql資料庫的引擎介紹
1.mysql中的資料用各種不同的技術儲存在檔案中,這些技術中的每一種技術都使用不同的儲存機制,索引技巧,鎖定水平並且最終 提供廣泛的不同功能和能力,在mysql中這些不同的技術以及配套的相關功能職為儲存引擎。2.儲存引擎其實就是對與資料庫檔案的一種儲存機制,如何實現儲存資料,如何為儲存的資料建立索...