MySQL基礎總結(六) 儲存引擎

2021-10-10 15:06:14 字數 1547 閱讀 9843

儲存引擎是mysql特有的,其它資料庫沒有。

實際上就是表的儲存方式

儲存引擎的本質:

(1)通過採用不同的技術將資料儲存在檔案或記憶體中;

(2)每一種技術都有不同的儲存機制,不同的儲存機制提供不同的功能和能力;

(3)通過選擇不同的技術,可以獲得額外的速度或功能,改善我們的應用;

show engines
結果:

(1)myisam引擎是mysql資料庫最常用的,但不是預設使用的;

(2)myisam儲存引擎不支援事務;

(3)myisam儲存引擎在建表的時候,會採用三個檔案去組織一張表:

格式檔案:***.frm(儲存表的結構)

資料檔案:***.myd(儲存表的資料)

索引檔案:***.myi(儲存表的索引)

優點:可被壓縮,節省儲存空間。並且可以轉換為唯讀表,提高檢索效率。

缺點:不支援事務。

(1)innodb儲存引擎是mysql資料庫的預設引擎;

(2)表結構儲存在***.frm檔案中;

(3)資料結構在tablespace表空間中(邏輯概念),無法被壓縮,無法轉換成唯讀;

(4)innodb儲存引擎在mysql資料庫崩潰之後提供自動恢復機制;

(5)提供全部acid相容(原子性、一致性、隔離性、永續性);

(6)innodb儲存引擎支援級聯刪除和級聯更新。

優點:支援事務、行級鎖、外來鍵等。這種儲存引擎資料的安全得到保障。

(1)使用memory儲存引擎的表,因為資料儲存在記憶體中(斷電就會丟失),且行的長度固定,所以使得memory儲存引擎非常快;

(2)在資料庫目錄內,每個表均以***.frm格式檔案表示;

(3)表級鎖機制;

(4)字段屬性不能包含text或blob欄位(二進位制);

優點:查詢速度最快。

缺點:不支援事務;資料容易丟失,因為所有資料和索引都是儲存在記憶體當中的。

儲存引擎

適合場景

myisam

(1)最適合於大量的資料讀而少量資料更新的混合操作;(2)適用使用壓縮的唯讀表

innodb

查詢中包含較多的資料更新操作,應使用innodb,其行級鎖機制和多版本的支援為資料讀取和更新的混合提供了良好的併發機制

memory

適合儲存非永久需要的資料,戒者是能夠從基亍磁碟的表中重新生成的資料

如果建表時沒有指定儲存引擎,則系統會使用預設的儲存引擎(innodb儲存引擎)。

建表時在最後加上engine = 儲存引擎名稱語句,就可以為表指定儲存引擎。

案例:

create

table a(

aa int

)engine

= myisam;

[1]

mysql引擎總結 MySQL儲存引擎總結

儲存引擎 儲存引擎其實就是如何實現儲存資料,如何為儲存的資料建立索引以及如何更新,查詢資料等技術實現的方法。儲存引擎的選擇 1 是否需要支援事務 2 是否需要使用熱備 3 崩潰恢復 能否接受崩潰 4 是否需要外來鍵支援 myisam 1 每當建立乙個myisam引擎的表時,就會在本地磁碟上建立三個檔...

MySQL知識點總結 六 儲存引擎

顯示當前有哪些引擎可用 show engines 不同的儲存引擎就是不同儲存方式 修改預設的儲存方式 可以在my.int的檔案下進行修改 2.資料檔案 儲存錶行的內容 mytable.myd 3.索引檔案 儲存表上的索引 mytable.myi 不支援事務 適用於大量資料讀而少量資料更新的混合操作 ...

MySQL儲存引擎總結

儲存引擎 儲存引擎其實就是如何實現儲存資料,如何為儲存的資料建立索引以及如何更新,查詢資料等技術實現的方法。儲存引擎的選擇 1 是否需要支援事務 2 是否需要使用熱備 3 崩潰恢復 能否接受崩潰 4 是否需要外來鍵支援 myisam 1 每當建立乙個myisam引擎的表時,就會在本地磁碟上建立三個檔...