MySQL的三大引擎的特點

2021-10-07 09:30:12 字數 1678 閱讀 7661

主要包括mylsam,innodb,memory

每個myisam在磁碟上儲存成三個檔案。

(1)frm檔案:儲存表的定義資料

(2)myd檔案:存放表具體記錄的資料

(3)myi檔案:儲存索引

mylsam特點:

有乙個重要的特點那就是不支援事務,但是這也意味著他的儲存速度更快如果你的讀寫操作允許有錯誤資料的話,只是追求速度,可以選擇這個儲存引擎。

(1)可以通過自動增長列,方法是auto_increment。

(2)支援事務。預設的事務隔離級別為可重複讀,通過mvcc(併發版本控制)來實現的。也就是版本號可以通過version欄位專門控制,mybatisplus就有相應的自動處理。

(3)使用的鎖粒度為行級鎖,可以支援更高的併發;

(4)支援外來鍵約束;外來鍵約束其實降低了查詢速度,但是增加了表之間的耦合度。

(7)對於innodb型別的表,其資料的物理組織形式是聚簇表。所有的資料按照主鍵來組織資料和索引放在一塊,都位於b+數的葉子節點上

innodb的儲存表和索引也有下面兩種形式:

(1)使用共享表空間儲存:所有的表和索引存放在同乙個表空間中

(2)使用多表空間儲存:表結構放在frm檔案資料和索引放在ibd檔案中。分割槽表的話,每個分割槽對應單獨的ibd檔案,分割槽表的定義可以檢視我的其他文章。使用分割槽表的好處在於提公升查詢效率。

對於innodb來說,最大的特點在於支援事務。但是這是以損失效率來換取的。

將資料存在記憶體,為了提高資料的訪問速度,每乙個表實際上和乙個磁碟檔案關聯。檔案是frm

1)支援的資料型別有限制,比如:不支援text和blob型別,對於字串型別的資料,只支援固定長度的行,varchar會被自動儲存為char型別

(2)支援的鎖粒度為表級鎖。所以,在訪問量比較大時,表級鎖會成為memory儲存引擎的瓶頸;

(3)由於資料是存放在記憶體中,一旦伺服器出現故障,資料都會丟失;

(4)查詢的時候,如果有用到臨時表,而且臨時表中有blob,text型別的字段,那麼這個臨時表就會轉化為myisam型別的表,效能會急劇降低

(5)預設使用hash索引。

(6)如果乙個內部表很大,會轉化為磁碟表

c 的三大特點

封裝 類將成員變數和成員函式封裝在類的內部,根據需要設定訪問許可權,通過成員函式操作成員資料 繼承 繼承是類之間的關係,這種關係使物件可以繼承另外一類物件的特徵和能力。繼承避免公用 的重複開發,減少 和資料冗餘 多型 多型可以簡單概括為 乙個函式,多種方法 程式在執行時才決定呼叫的函式時物件導向程式...

mysql所有引擎級特點 mysql 引擎介紹

一 myisam 引擎 1.1 myisam引擎的特點 1 不支援事務 2 表級鎖定,更新時鎖定整個表 3 讀寫互相阻塞 4 只會快取索引,通過key buffer size 快取索引 5 讀取速度快,占用資源相對少 6 不支援外來鍵約束,但支援全文索引 7 myisam 引擎是mysql 5.5 ...

物件導向的三大特點

封 將屬性和方法私有化不讓資訊外漏,保證安全性,就屬性私有化就是加上private,同時有set和get方法這樣可以用set方法改變私有屬性的值,get可以對外獲取屬性的值 構造方法可以私有化在構造方法前加上private this關鍵字 繼承 父類擁有好多類共有的屬性和方法,所以子類繼承父類的全部...