1、myisam
2、innodb
3、memory
4、archive列:有兩個使用者登入,一個使用者要刪除商品表的22號記錄,另一個使用者要查詢22號記錄,有可能會造成正在查詢的使用者報錯並退出,也有可能查詢的使用者讀到一條與實際記錄不符的資訊。解決這類問題的方法就是併發控制
在使用併發讀和併發寫時,系統提供了兩類鎖:
共享鎖(讀鎖):多個使用者可以同時讀取同一個資源,讀取過程中資料不會發生改變;
排他鎖(寫鎖):在任意時刻,只允許一個使用者對資源進行寫操作,會阻塞其他的讀鎖或者寫鎖,不允許其他使用者讀和寫操作;
鎖的粒度:在加鎖時只加最對的而不加最大的,因為加鎖會增加系統的開銷;
mysql的鎖策略有兩種:對一張表進行操作,也就是對錶進行寫操作,會阻塞其他的讀鎖和寫鎖
表鎖:一種開銷最小的鎖(對一張表操作,直接鎖整個表)
行鎖:一種開銷最大的鎖(對一張表操作,對錶中的每一條記錄都要加上鎖)
使用索引可以快速的訪問資料表中的特定資訊;
相當於一本書的目錄,在查詢有關資訊時,查詢目錄就可以快速的查詢到資訊在哪一章節哪一頁;
特點
myisam
innodb
memory
archive
儲存限制
256tb
64tb
有
無
事務安全
支援
支援索引
支援
支援
支援
鎖顆粒
表鎖
行鎖
表鎖
行鎖
資料壓縮
支援
支援
支援外來鍵
支援
通常使用的都是前兩種myisam和innodb;
更改儲存引擎的方式:
1、在mysql的配置檔案中(預設在c:\program files\mysql\mysql server \my.ini):
default-storage-engine=innodb
2、建立表結構時修改:
create table user(
...
...
)engine=innodb;
3、建立表之後修改:
alter table user engine = innodb;
mysql 儲存引擎 mysql 儲存引擎
什麼是mysql資料庫 通常意義上,資料庫也就是資料的集合,具體到計算機上資料庫可以是儲存器上一些檔案的集合或者一些記憶體資料的集合。我們通常說的mysql資料庫,sql server資料庫等等其實是資料庫管理系統,它們可以儲存資料,並提供查詢和更新資料庫中的資料的功能等等。根據資料庫如何儲存資料和...
MySQL儲存引擎
mysql常用的儲存引擎為myisam innodb memory merge,其中innodb提供事務安全表,其他儲存引擎都是非事務安全表。myisam是mysql的預設儲存引擎。myisam不支援事務 也不支援外來鍵,但其訪問速度快,對事務完整性沒有要求。innodb儲存引擎提供了具有提交 回滾...
MySQL儲存引擎
from 是處理不同型別的表的sql操作的mysql部件,也被稱為表型別。mysql支援多種的儲存引擎,比如最新的mysql 5.6就支援innodb myisam memory csv archive blackhole merge federated example等9種儲存引擎 不同儲存引擎的...