MySQL(1) 儲存引擎

2021-10-09 05:54:42 字數 942 閱讀 7975

儲存引擎就是如何儲存資料、如何為儲存的資料建立索引、如何更新、查詢資料等技術的實現方法。因為在關聯式資料庫中資料是以表的形式儲存的,所以儲存引擎也可以稱為表型別(即儲存和操作此表的型別)。在oracle和sqlserver等資料庫中只有一種儲存引擎,所有的資料儲存管理機制都是一樣的;而mysql資料庫提供了多種儲存引擎。使用者可以根據不同的需求為資料表選擇不同的儲存引擎,使用者也可以根據需要編寫自己的儲存引擎。

資料庫儲存引擎是資料庫底層軟體元件,資料庫管理系統使用資料引擎進行建立、查詢、更新和刪除資料操作。不同的儲存引擎提供不同的儲存機制、索引技巧、鎖定水平等功能,使用不同的儲存引擎還可以獲得特定的功能。

儲存引擎的作用規定了資料儲存時的儲存結構。現實生活中,由於不同的業務產生了不同的資料,這些資料有的可能偏重於被頻繁的 查詢,有的要求增刪速度快,有的則對事務、索引、外來鍵有特殊的規定。這樣一來就堆儲存資料的表要求使用不同的資料組織結構,也就是儲存引擎。

現在許多資料庫管理系統都支援多種不同的儲存引擎。mysql 的核心就是儲存引擎。

對比項myisam

innodb

主外來鍵不支援

支援事務

不支援支援

行表鎖表鎖,即使操作一條記錄也會鎖住整個表,不適合高併發的操作

行鎖,操作時只鎖某一行,不對其他行有影響,適合高併發的操作。

快取只快取索引

不僅快取索引還要快取真實資料,對記憶體要求較高,而且記憶體大小對效能有決定性的影響

表空間小

大關注點

效能事務

預設安裝yy

如果用innodb是必須有主鍵的,主鍵建議用自增的id而不用uuid,用uuid會使得索引變慢。

innodb是聚簇索引(葉子節點存資料),myisam是非聚簇索引(葉子節點存指標)

innodb 支援事務、行級鎖, 而myisam都不支援

MySQL 儲存引擎 1

支援事務,而 myisam 不支援事務 2 innodb 支援行級鎖,而 myisam 支援表級鎖 3 innodb 支援mvcc,而myisam 不支援 4 innodb 支援外來鍵,而 myisam 不支援 5 innodb 不支援全文索引,而 myisam 支援。mvcc multiversi...

Mysql (1)簡單認識Mysql

mysql 是一種關係型資料庫,預設埠號是3306 在5.5版之前,mysql的預設資料庫引擎是myisam,雖然效能極佳,而且提供了大量的特性,包括全文索引 壓縮 空間函式等,但myisam不支援事務和行級鎖,而且最大的缺陷就是崩潰後無法安全恢復。不過,5.5版本之後,mysql引入了innodb...

mysql 1 基礎架構

我們可以將mysql分為兩大層server層和儲存引擎層 1.聯結器 聯結器 負責和客戶端建立連線,獲取許可權,維持和管理連線 連線命令示例 mysql h 127.0.0.1 p 3306 u root p上面的命令,其實就是我們通過客戶端工具mysql去連線服務端,也就是建立連線。連線建立成功後...