MySQL資料庫常用儲存引擎

2021-10-06 11:43:27 字數 1840 閱讀 7002

資料庫儲存引擎:是資料庫底層軟體組織,資料庫管理系統(dbms)使用資料引擎進行建立、查詢、更新和刪除資料。不同的儲存引擎提供不同的儲存機制、索引技巧、鎖定水平等功能,使用不同的儲存引擎,還可以獲得特定的功能。現在許多不同的資料庫管理系統都支援多種不同的資料引擎。mysql的核心就是外掛程式式儲存引擎。

檢視儲存引擎:

給使用者提供了許多不同的儲存引擎。在mysql中,不需要在整個伺服器中使用同一種儲存引擎,針對具體的要求,可以對每乙個表使用不同的儲存引擎。support列的值表示某種引擎是否能使用:yes表示可以使用、no表示不能使用、default表示該引擎為當前預設的儲存引擎。

使用下面sql可以檢視預設使用的引擎:

幾種常見的儲存引擎:

innodb儲存引擎

innodb

是事務型資料庫的首選引擎,支援事務安全表(acid),其它儲存引擎都是非事務安全表,支援行鎖定和外來鍵,mysql5.5以後預設使用innodb儲存引擎。

支援事務處理,支援外來鍵,支援崩潰修復能力和併發控制。如果需要對事務的完整性要求比較高(比如銀行),要求實現併發控制(比如售票),那選擇innodb有很大的優勢。如果需要頻繁的更新、刪除操作的資料庫,也可以選擇innodb,因為支援事務的提交(commit)和回滾(rollback)。

myisam儲存引擎:

myisam

基於isam儲存引擎,並對其進行擴充套件。它是在web、資料倉儲和其他應用環境下最常使用的儲存引擎之一。myisam擁有較高的插入、查詢速度,但不支援事務,不支援外來鍵。

插入資料快,空間和記憶體使用比較低。如果表主要是用於插入新記錄和讀出記錄,那麼選擇myisam能實現處理高效率。如果應用的完整性、併發性要求比較低,也可以使用。

merge儲存引擎:

merge

儲存引擎是一組myisam表的組合,這些myisam表必須結構完全相同,merge表本身並沒有資料,對merge型別的表可以進行查詢,更新,刪除操作,這些操作實際上是對內部的myisam表進行的。

關於儲存引擎的一些命令:

檢視表的儲存引擎:

show  create  table  table_name; 或者

show table status from db_name where name='table_name';

修改表的儲存引擎sql:

alter  table  table_name  type=innodb; 或者

alter table student engine=myisam;

建立表時指定儲存引擎:

mysql> create  table  test1(id int) engine= myisam 或者

# vi  /etc/my.cnf

[mysqld]

default-storage-engine=innodb

或者使用命令修改:

mysql> set  default_storage_engine=myisam

資料庫 常用儲存引擎

鎖 主要作用是管理共享資源的併發訪問,還可以用於實現事務的隔離性。鎖的型別 共享鎖 也稱讀鎖 獨佔鎖 也稱寫鎖 阻塞 乙個事務中的鎖需要等待另乙個事務中的鎖釋放所占用的資源,這樣會形成阻塞。死鎖 兩個及以上事務在執行過程中相互占用了對方等待的資源而產生的異常 資料庫系統會在死鎖的事務中,找到乙個占用...

Mysql資料庫儲存引擎

儲存引擎是什麼?mysql中的資料用各種不同的技術儲存在檔案 或者記憶體 中。這些技術中的每一種技術都使用不同的儲存機制 索引技巧 鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。例如,如果你在研究大量的臨時資料,你也許需要使...

資料庫 mysql儲存引擎

mysql常用的四種引擎的介紹 1 myisam儲存引擎 不支援事務 也不支援外來鍵,優勢是訪問速度快,對事務完整性沒有要求或者以select,insert為主的應用基本上可以用這個引擎來建立表,適合寫多的情況。frm儲存當前資料表的結構,myd儲存當前表的資料,myi儲存當前資料表的索引 支援表級...