mysql儲存引擎看這就夠了

2021-09-29 16:50:15 字數 901 閱讀 5650

1、從mysql5.5版本之後,mysql的缺省內置儲存引擎已經是innodb了,他的主要特點有:

2、myisam儲存引擎

在5.5版本之前,myisam是mysql的預設儲存引擎,該儲存引擎併發性差,不支援事務,所以使用場景比較少,主要特點為:

(1)不支援事務;

(2)不支援外來鍵,如果強行增加外來鍵,不會提示錯誤,只是外來鍵不其作用;

(3)對資料的查詢快取只會快取索引,不會像innodb一樣快取資料,而且是利用作業系統本身的快取;

(4)預設的鎖粒度為表級鎖,所以併發度很差,加鎖快,鎖衝突較少,所以不太容易發生死鎖;

(5)支援全文索引(mysql5.6之後,innodb儲存引擎也對全文索引做了支援),但是mysql的全文索引基本不會使用,對於全文索引,現在有其他成熟的解決方案,比如:elasticsearch,solr,sphinx等。

(6)資料庫所在主機如果宕機,myisam的資料檔案容易損壞,而且難恢復;

(7)每個myisam在磁碟上儲存成三個檔案。第乙個檔案的名字以表的名字開始,副檔名指出檔案型別。.frm檔案儲存表定義。資料檔案的擴充套件名為.myd (mydata)。 索引檔案的副檔名是.myi (myindex)。

總結:1.myisam引擎的表的查詢、更新、插入的效率要比innodb高

2.myisam 更適合讀取大於寫入的業務,同時不支援事物。

3. innodb 最小的鎖粒度是行鎖,myisam 最小的鎖粒度是表鎖。乙個更新語句會鎖住整張表,導致其他查詢和更新都會被阻塞,因此併發訪問受限。這也是 mysql 將預設儲存引擎從 myisam 變成 innodb 的重要原因之一;

4.innodb不支援fulltext型別的索引,不支援全文索引,但可以通過electsearch實現全文索引;myisam允許在char、varchar、text型別上建立全文索引

mysql這就是儲存

儲存過程 stored procedure 是一種在資料庫中儲存多條語句,以便呼叫的一種資料庫物件。儲存過程可以完成特定功能的sql語句集,經編譯建立並儲存在資料庫中,使用者可通過指定儲存過程的名字並給定引數 需要時 來呼叫執行。簡單來說,當我們需要完成同樣的任務反覆呼叫一組語句時,就可以把這組語句...

面試之MySQL看這個就夠了

關於二者的對比與總結 1.count運算上的區別 因為myisam有快取表meta data 行數等 因此在做count 時對於乙個結構很好的查詢是不需要消耗多少資源的。而對於innodb來說,則沒有這種快取。2.是否支援事務和崩潰後的安全恢復 myisam 強調的是效能,每次查詢具有原子性,其執行...

mysql儲存引擎 mysql儲存引擎簡介

精品推薦 什麼是儲存引擎 mysql儲存引擎是資料庫如何儲存資料 怎樣建立索引以及如何查詢更新資料等技術的實現方法,資料通過使用不同的技術儲存在檔案中,使用不同的儲存機制 索引方式來提供不同的功能。在mysql這種關係型資料中心來說,資料是以表的方式來儲存的,因此,簡單點來說,儲存引擎就是儲存和操作...