主要包括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關鍵字 繼承 父類擁有好多類共有的屬性和方法,所以子類繼承父類的全部...